Jump to content


Photo

WideImage – Classe PHP que manipula Imagens

Php WideImage

  • Faça o login para participar
6 replies to this topic

#1 WMO Notícias

WMO Notícias

    Normal

  • Moderadores
  • 73 posts
  • Sexo:Não informado

Posted 26/02/2015, 15:14

Nesse post, vou mostrar como a classe WideImage pode ajudar com a manipulação de imagens. Quem nunca precisou manipular uma imagem? Todos sabem que é uma tarefa comum em um website, e que não é muito agradável, mas com a classe WideImage facilita bastante.

Com o WideImage pode-se:

  • Redimensionar imagens
  • Inserir marca d´agua
  • Converter imagem em escala de cinza
  • Converter imagem para negativa
  • Cortar imagem
  • Entre outras…

A utilização da classe requer alguns pré-requisitos, como, PHP 5.2 ou superior, GD2 do PHP ativado (que na versão 5 do PHP já vem ativado por padrão) e memória suficiente para carregar os arquivos de imagens.

  • Baixe o WideImage no link
  • Após baixar o arquivo WideImage, salve-o em uma pasta dentro do seu projeto, neste caso, será nomeado como “_wideimagem”, mas nada impede de escolher outro nome, portanto que lembre na hora de requerer a classe.
  • O código a seguir mostrará como redimensionar e salvar uma imagem:
  1. <?php
  2. // Chama o arquivo com a classe WideImage
  3. require('_wideimage/WideImage.php');
  4. // Carrega a imagem a ser manipulada
  5. $image = WideImage::loadFromFile('_imagem/img.jpg');
  6. // Redimensiona a imagem
  7. $image = $image->resize(400, 300);
  8. // Salva a imagem em um arquivo
  9. $image->saveToFile('_imagem/imgred.png');
  10. // Mostra a imagem na tela
  11. $image->output('jpg', 90);
  12. ?>

Existem três tipos de redimensionamento, inside, outsidefill:

  • Inside — Redimensiona a imagem para caber na largura e altura especificada, não distorcendo a imagem.
  • Outside — Redimensiona a imagem para preencher a largura e altura especificada, não distorcendo a imagem.
  • Fill — A imagem será redimensionada por completo, distorcendo a imagem.

No código anterior modifique a linha onde é redimensionado a imagem e coloque a seguinte linha.

  1. $image = $image->resize(400, 300,'inside');

Altere das três formas para ver a diferença entre insideoutrside e fill.

Cortando a imagem

Existe um método na classe WideImage muito legal, o crop(), que tem quatro parâmetros, coordenada X onde o corte se inicia, coordenada Y onde o corte se inicia, largura e altura do corte.
Veja o código de exemplo:

  1. <?php
  2. // Chama o arquivo com a classe WideImage
  3. require('_wideimage/WideImage.php');
  4. // Carrega a imagem a ser manipulada
  5. $image = WideImage::loadFromFile('_imagem/img.jpg');
  6. // faz o recorte da imagem
  7. $image = $imagecrop->crop(0,0,247, 190);
  8. // Salva a imagem em um arquivo
  9. $imagecrop->saveToFile('_imagem/imgred.png');
  10. // Mostra a imagem na tela
  11. $imagecrop->output('jpg', 90);
  12. ?>

Na maioria dos casos ninguém corta no canto da imagem, com isso vemos o poder do crop().

Altere a linha onde recorta a imagem pelo código abaixo:

  1. $image = $imagecrop->crop('50% - 50', '50% -40',247, 190);

Se a imagem for muito grande, pode-se pegar um pedaço da imagem. Mas como fazer isso? Usando a função resize() em conjunto com o crop().

Adicione a seguinte linha no arquivo:

  1. $image = $image->resize(100, 80);
  2. $image = $imagecrop->crop('50% - 50', '50% -40',100, 80);

OBS: lembrando que aqui nos códigos são somente exemplos, você terá que pegar a dimensão correta de suas imagens.

Marca d'água (watermark)

Para aplicar marca d'água em uma imagem com a classe WideImage, basta usar o método merge().

O método merge() da classe WideImage tem quatro parâmetros, primeiro a imagem que irá ser a marca d'água, segundo posição X, terceiro posição Y e o quarto opacidade da imagem.

Veja abaixo o código:

  1. <?php
  2.     $img = wideimage::load('_imagem/img.jpg');
  3.     $marca = wideimage::load('_imagem/img2.jpg');
  4.     $novaImagem = img->merge($marca, 10, 10, 30);
  5.     $novaImagem->saveToFile('_imagem/ImagemMarca.jpg');
  6.     $novaImagem->output('jpg', 90);
  7. ?>

Note que a imagem ficou com uma marca d'água.
Mais informações sobre a classe podem ser vistas em http://wideimage.sourceforge.net/

Gostou do artigo? Ficou com dúvidas? Tem outras sugestões?
Deixe um comentário.
Forte Abraço e até a próxima!

 

 

Fonte:www.ideiasprogramadas.com.br



#2 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 06/09/2022, 00:43

Read about Cialistro online to get more information and check how to order an online Cialistro package ivermectin use

#3 JeffMalm

JeffMalm

    Super Veterano

  • Usuários
  • 12254 posts
  • Sexo:Feminino
  • Localidade:Mount Carey

Posted 29/11/2022, 07:50

TTh has beneficial effects on muscle mass and strength that may reduce the propensity to fall and therefore decrease fracture risk lasix para que sirve

#4 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 02/12/2022, 10:30

ivermectin for sale on ebay Oral Lorazepam Ativan Linked to Risks for Dependency, Withdrawal Effects, and Drug Interactions

#5 JeffMalm

JeffMalm

    Super Veterano

  • Usuários
  • 12254 posts
  • Sexo:Feminino
  • Localidade:Mount Carey

Posted 07/01/2023, 05:44

tamoxifen for weight loss bieffekter antidepressiva kÐÒvepenin urinvФgsinfektion astma bronkit ashwagandha biverkningar erytem Kжpa Advair Diskus pÐÒ nФtet sverige oralovite hжgt blodtryck impotens andnжd hosta

#6 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 11/01/2023, 06:54

The NBA is very strict when it comes to using drugs, and they give heavy sanctions for players that will be caught using it tamoxifen brand name Use Letero as directed by your doctor

#7 JeffMalm

JeffMalm

    Super Veterano

  • Usuários
  • 12254 posts
  • Sexo:Feminino
  • Localidade:Mount Carey

Posted 12/02/2023, 11:41

what does tamoxifen do to the body However, it is not that extensive with survival rates being somewhere between 3 and 6 months 16
doxycycline and prednisone covid Delmer, USA 2022 06 04 07 48 11
1 DEA in 76 acetronile in H 2 O at 0 can i buy stromectol without rx Shop around once you find what she likes and is better quality too less fruit veggie, if any at all, meat by products can be okay, but NOT as a first ingredient I d prefer none myself, certainly no grains, potatoes etc





Veja alguns posts relacionados com: Php, WideImage

1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq