0

Como trabalhar com imagens em PHP?

Como trabalhar com imagens em PHPNeste artigo, vamos mostrar Como trabalhar com imagens em PHP. Trabalhar com manipulação de imagens pode ser uma tarefa trabalhosa em centenas de outras linguagens. No entanto, em PHP, é uma tarefa fácil. Devido a seu framework conciso e simples de ser utilizado, você pode com poucas linhas de código, trabalhar com imagens de maneira simples.

Neste artigo, vou falar sobre a classe WideImage, que te ajuda a manipular as imagens em seu sistema. Neste artigo vou mostrar como cortar imagens, inserir automaticamente uma marca d’água na imagem, mesclar, entre outros recursos desta classe.

Para utilizar esta classe, você precisa ter no mínimo, a versão 5.2 do PHP instalado no seu servidor. Não se preocupe, a maioria dos servidores de hospedagem já possuem suporte a esta versão do PHP. Você verá como é fácil e saberá passo a passo como trabalhar com imagens em PHP.

Primeiro passo: Como carregar a imagem para memória

Antes de manipular a imagem, é necessário que você suba para memória e desta forma, realizar a manipulação. Você pode carregar através do código abaixo:

<?php
// carrega imagem em php
$imagem = WideImage::load('fotos/imagemm1.png');
?>



<?php
// Carrega a imagem de um arquivo
$img = WideImage::loadFromFile('imagens/minha_foto.jpg');
?>


Desta maneira, sua imagem está em memória.

Como redimensionar as imagens em PHP

Você pode redimensionar a imagem. Existem três formas de redimensionar

    • outside : a imagem será redimensionada para preencher a largura e altura que você especificou no código. Não há distorção da imagem.

 

  • inside : a imagem será redimensionada para caber na largura e altura que você especificou no código. Não há distorção da imagem.

 

 

  • fill : será redimensionado para preencher por completo a altura e largura, e pode distorcer sua imagem.

 

 

Exemplo:



// Substitui a imagem antiga
$img->saveToFile($arquivo);
// Limpa da memória
$img->destroy();

?>

 

No exemplo acima, será redimensionado para preencher um quadrado com as especificações em pixels. Você pode alterar os valores de acordo com suas necessidades.

Como Cortar Imagens

Você também pode cortar uma imagem em memória usando o método crop() e ajustando com o resize(). Para utilizar o método crop(), você deve utilizar como parâmetro as coordenadas X, que é onde irá começar o corte, e o Y, que é a largura do corte. Veja alguns exemplos da utilização deste método.
<?php
// Corta um quadrado de 150x150px no canto superior direito da imagem
$img = $img->crop(0, 0, 150, 150);

Mas ninguém quer cortar um pedaço do canto superior direito da imagem… Geralmente precisamos fazer um corte no meio da imagem… É aí que o crop() mostra seu poder:
<?php
// Corta um quadrado de 100x80px no meio da imagem
$img = $img->crop(‘50% – 50’, ‘50% – 40’, 100, 80);

A criatividade é o limite.

Como salvar a imagem

Terminando suas atividades, agora é hora de salvar a manipulação que você fez em memória e salvar no seu disco rígido. Para salvar, utilize o código abaixo.
<?php
// Salva a imagem em um novo arquivo
$img->saveToFile(‘/imagens/minha_foto_menor.jpg’);
Quando a imagem for salva em JPG você também pode definir a qualidade da imagem, diminuindo assim o tamanho do arquivo:

Você também pode salvar a imagem, e atribuir quantos porcento de qualidade ela irá ter. Veja o exemplo abaixo.
<?php
// Salva a imagem em um novo arquivo com 40% de qualidade
$img->saveToFile(‘/imagens/minha_foto_menor.jpg’, null, 40);

Enviando Imagens direto para o Navegador

Você também pode enviar as imagens para o navegador do seu usuário. Basta utilizar o código abaixo.
<?php
// Define o tipo de cabeçalho para exibir a imagem corretamente
header(“Content-type: image/jpeg”);
// Envia a imagem para o navegador com 80% de qualidade
$img->asString(‘jpg’, 80);

 

Veja aqui um exemplo onde carregamos uma imagem, redimensionamos, cortamos e salvamos no mesmo endereço, substituindo a imagem anterior:
<?php
$arquivo = ‘/imagens/fotos-ab/rodrigo.jpg’;
// Carrega a imagem em memória
$img = WideImage::load($arquivo);

$img = $img->crop(‘50% – 50’, ‘50% – 50’, 100, 100);
// Substitui a imagem antiga
$img->saveToFile($arquivo);
// Limpa da memória
$img->destroy();

?>

 

 

Conclusão

Este foi nosso artigo que mostra como trabalhar com imagens em PHP. Você viu como é fácil manipular imagens em PHP, e com os códigos que te mostrei, você pode inserir facilmente em seu próprio projeto. Se você gostou, deixe um comentário.

Dica EXTRA:

Como trabalhar com imagens em PHP?
5 (100%) 1 vote

Equipe Curso PHP do Zero ao Profissional

Nós somos uma equipe focada em desenvolvimento de software em PHP.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *