Plugin EasyPHPThumbnail

14
  Aplicando efeitos em Imagens com o PHP. É muito comum, ao trabalha com sites para a internet a necessidade de utilizar imagens, e tão comum quanto, desenvolver galerias de fotos e/ou outros sistemas que utilizem das imagens do visitante. O problema é que nem todos os visitantes possuem conhecimento para redimensionar, cortar, aplicar efeitos, marca d`água, texto de direitos autorais e outros recursos em suas fotos antes de enviar os arquivos para o banco de dados do site. Como nós programadores PHP pensamos sempre na facilidade do sistema para nossos visitantes, nos vemos na necessidade de resolver estas tarefas para o visitante. Mas como? Existem na internet várias classes em PHP que nos auxiliam nesta atividade. Estas classes utilizam a biblioteca gráfica do Linux compilada para o PHP para tratar as imagens.  Vamos ver uma dessas classes que nos permite uma infinidade de tarefas com as imagens dos nossos visitantes. A classe se chama EasyPHPThumbnail e pode ser baixada no site do desenvolvedor através do link: http://www.mywebmymail.com/?q=system/files/easyphpth umbnail.zip Os exemplos também podem ser visto no site do desenvolvedor. http://www.mywebmymail.com/  Iniciando a classe Faça a inclusão do arquivo da classe em seu código e em seguida inicie um objeto desta classe. Percebam que não é necessário passar nenhum parâmetro na instanciação da classe. <?php include_once('inc/easyphpthumbnail.class.php'); $thumb = new easyphpthumbnail; $thumb -> Createthumb('gfx/image.jpg'); ?> Saída Podemos escolher duas formas de saída para o resultado do método Createthumb. Por padrão a opção é  “screen”  que vai gera r a imagem e imprimir na tela . Podemos ainda utilizar a opção  “file” o que irá salvar o arquivo em uma pasta definida no servidor sem exibí-la. <?php include_once('inc/easyphpthumbnail.class.php'); $thumb = new easyphpthumbnail; $thumb -> Createthumb('gfx/image.jpg'); E include_once('inc/easyphpthumbnail.class.php');

Transcript of Plugin EasyPHPThumbnail

Page 1: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 1/14

 Aplicando efeitos em Imagens com o PHP.

É muito comum, ao trabalha com sites para a internet a necessidade de utilizar imagens, e tão comumquanto, desenvolver galerias de fotos e/ou outros sistemas que utilizem das imagens do visitante.

O problema é que nem todos os visitantes possuem conhecimento para redimensionar, cortar, aplicarefeitos, marca d`água, texto de direitos autorais e outros recursos em suas fotos antes de enviar osarquivos para o banco de dados do site.

Como nós programadores PHP pensamos sempre na facilidade do sistema para nossos visitantes, nosvemos na necessidade de resolver estas tarefas para o visitante. Mas como?

Existem na internet várias classes em PHP que nos auxiliam nesta atividade. Estas classes utilizam abiblioteca gráfica do Linux compilada para o PHP para tratar as imagens.

 Vamos ver uma dessas classes que nos permite uma infinidade de tarefas com as imagens dos nossosvisitantes. A classe se chama EasyPHPThumbnail e pode ser baixada no site do desenvolvedor através do

link:

http://www.mywebmymail.com/?q=system/files/easyphpthumbnail.zip

Os exemplos também podem ser visto no site do desenvolvedor.

http://www.mywebmymail.com/ 

Iniciando a classe

Faça a inclusão do arquivo da classe em seu código e em seguida inicie um objeto desta classe. Percebamque não é necessário passar nenhum parâmetro na instanciação da classe.

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Createthumb('gfx/image.jpg');?>

SaídaPodemos escolher duas formas de saída para o resultado do método Createthumb. Por padrão a opção é

 “screen” que vai gerar a imagem e imprimir na tela.

Podemos ainda utilizar a opção  “file” o que irá salvar o arquivo em uma pasta definida no servidor semexibí-la.

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Createthumb('gfx/image.jpg');

E

include_once('inc/easyphpthumbnail.class.php');

Page 2: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 2/14

$thumb = new easyphpthumbnail;$thumb -> Createthumb('gfx/image.jpg',’screen’);

OU

include_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Createthumb('gfx/image.jpg',’file’);

?>

 Alterando várias imagens de uma só

vez

Podemos tratar várias imagens de uma única vez, sem a necessidade de ficar instanciando objetos damesma classe. Para isso, basta que passemos uma matriz com o endereço das imagens que queremostratar e a opção file para que as imagens sejam armazenadas.

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Createthumb(array('gfx/image.jpg','image2.jpg','image3.jpg'),'file');?>

O prefixo das imagens geradasPor padrão, a classe easyphpthumbnail gera uma nova imagem com o mesmo nome da imagem originalporém com o prefixo thumbnail_. Exemplo: thumbnail_imagem1.jpg para a foto imagem1.jpg.

Podemos alterar esse prefixo atribuindo um valor para este atributo.

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb->Thumbprefix = “mini_”;$thumb -> Createthumb(array('gfx/image.jpg','image2.jpg','image3.jpg'),'file');?>

Formato do arquivo de saída

Podemos ainda, escolher o formato de saída para a nova imagem entre JPG e PNG. Para isso basta quealteremos o valor padrão do atributo Thumbsaveas. 

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb->Thumbprefix = “mini_”;

$thumb->Thumbsaveas = “png”;$thumb -> Createthumb(array('gfx/image.jpg','image2.jpg','image3.jpg'),'file');

?>

Page 3: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 3/14

Novo local para os arquivos

Por padrão, apesar de alterar o nome do novo arquivo, a classe easyphpthumbnail salva os novos arquivosna mesma pasta do arquivo original.

Caso nossa necessidade exija que salvemos em uma pasta diferente, podemos definir o endereço para osnovos arquivos através do atributo Thumblocation. 

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb->Thumbprefix = “mini_”;$thumb->Thumbsaveas = “png”;$thumb->Thumblocation = “miniaturas/”;$thumb -> Createthumb(array('gfx/image.jpg','image2.jpg','image3.jpg'),'file');?>

Dessa forma os arquivos gerados serão salvos dentro de uma pasta chamada miniaturas dentro da pastaonde os arquivos originais se encontram.

Redimensionar imagens

Podemos definir o tamanho das novas imagens a serem geradas que a classe cuidará de atribuir a elasalturas de forma que não deforme a imagem. Podemos fazer este redimensionamento definindo tamanhosem pixels ou porcentagem.

Para definir os tamanho sem pixels, basta que alteremos o atributo Thumbsize com os tamanhos empixels que queremos a nova imagem.

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Thumbsize = 120;$thumb -> Createthumb('gfx/image.jpg');?>

Para definir o tamanho em porcentagem, além de informar um valor para o atributo Thumbsize, precisamos também setar como o atributo percentage. true <?phpinclude_once('inc/easyphpthumbnail.class.php');

$thumb = new easyphpthumbnail;$thumb -> Thumbsize = 50;$thumb -> Percentage = true;$thumb -> Createthumb('gfx/image.jpg');?>

Dessa forma definimos que vamos redimensionar as imagens para a metade de seu tamanho (50%).

Rotacionar imagens

Podemos rotacionar fotografias, para isso basta atribuir um valor para o atributo Rotate com os grausque queremos rotacionar a imagem.

Page 4: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 4/14

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Thumbsize = 50;$thumb -> Rotate = 90;$thumb -> Percentage = true;

$thumb -> Createthumb('gfx/image.jpg');?>

Criando bordas arredondadas

Para criarmos boras arredondadas para as imagens e conseguir um efeito muito legal para as fotos,devemos atribuir valores para um vetor de sete posições no atributo Clipcorner. 

[0]: 0=disabilitado 1=retor ou 2=arredondado

[1]: Porcentagem do corte[2]: Cortar randomicamente - Booleano 0=disabilitado 1=habilitado[3]: Topo esquerdo – Booleano 0=disabilitado 1=habilitado[4]: Inferior esquerdo – Booleano 0=disabilitado 1=habilitado[5]: Topo direito - Booleano 0=disabilitado 1=habilitado[6]: Inferior direito - Booleano 0=disabilitado 1=habilitado

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Backgroundcolor = '#D0DEEE';

$thumb -> Clipcorner = array(2,15,0,0,1,1,0);$thumb -> Createthumb('gfx/image.jpg');?>

saída do código acima

Percebam que os cantos que foram arredondados ficam com uma cor de background, pois atribuímos umvalor para o atributo Backgroundcolor. Caso precisamos que os cantos arredondados fiquemtransparentes, devemos utilizar o atributo Maketransparent passando um vetor com 4 posições.

[0]: Booleano 0=disabilitado 1=habilitado[1]: 0=PNG 1=GIF[2]: cor para substituição: '#FF0000'[3]: Tolerância RGB 0 – 100

<?phpinclude_once('inc/easyphpthumbnail.class.php');

$thumb = new easyphpthumbnail;$thumb -> Backgroundcolor = '#0000FF';

$thumb -> Clipcorner = array(2,15,0,1,1,1,1);

Page 5: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 5/14

$thumb -> Maketransparent = array(1,1,'#0000FF',30);$thumb -> Createthumb('gfx/image.jpg');?>

Margem e sombra nas imagensPodemos ainda incluir margens e sombra nas imagens geradas através dos atributos Framewidth, Framecolor e shadow onde Framewidth é o tamanho da margem, Framecolor é a cor quegostaríamos de ter na margem e shadow é um booleano (true para ter sombra, false para não ter).

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Framewidth = 10;$thumb -> Framecolor = '#FFFFFF';$thumb -> Backgroundcolor = '#D0DEEE';$thumb -> Shadow = true;$thumb -> Createthumb('gfx/image.jpg');?>

Imagem gerada com o código acima

Texto sobre as imagens

Para proteger as fotografias de cópias indevidas, podemos atribuir sobre elas algum texto de direitosautorais. Para isso utilizamos os atributos Copyrighttext para definir o texto desejado,Copyrightposition para definir a posição do texto na imagem, Copyrightfonttype caso precisamosdefinir alguma fonte específica para o texto. Neste caso devemos guardar na pasta da classeeasyphpthumbnail o arquivo TTF da fonte. Copyrightfontsize para definir o tamanho do texto ecopyrighttextcolor para definir a cor.

<?phpinclude_once('inc/easyphpthumbnail.class.php');$thumb = new easyphpthumbnail;$thumb -> Thumbsize = 300;$thumb -> Copyrighttext = 'www.tgiovanella.com.br';$thumb -> Copyrightposition = '50% 90%';$thumb -> Copyrightfonttype = 'handwriting.ttf';$thumb -> Copyrightfontsize = 30;$thumb -> Copyrighttextcolor = '#FFFFFF';$thumb -> Createthumb('gfx/image.jpg');

?>

Page 6: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 6/14

Opções

$thumb -> Createthumb('imagepath'[,'output'])

Cria uma instancia da classe. Output padrão é Screen mas também pode ser utilizado como file para geraros arquivos e não exibir automaticamente na tela.

$thumb -> Thumbsize = (int)

Tamanho do novo arquivo (largura para paisagem, altura para retrato).

$thumb -> Thumbheight = (int)

 Altura da imagem.

$thumb -> Thumbwidth = (int)

Largura da imagem.

$thumb -> Percentage = (boolean)

Use TRUE para que o tamanho fornecido para a imagem seja em porcentagem e não pixels.

$thumb -> Framewidth = (int)

 Adiciona uma borda no contorno da imagem.

$thumb -> Framecolor = (string)

 A cor da margem (contorno) no format exadecimal (#FFFFFF).

$thumb -> Inflate = (boolean)

Use TRUE se permite que a imagem seja esticada.

$thumb -> Shadow = (boolean)

 Adiciona uma sombra no contorno da imagem.

Page 7: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 7/14

$thumb -> Binder = (boolean)

Desenha um espiral de caderno no canto esquerdo da imagem.

$thumb -> Binderspacing = (int)

Espaçamento entre a espiral e a imagem

$thumb -> Backgroundcolor = (string)

Cor de fundo da imagem no format exadecimal (#FFFFFF).

$thumb -> Watermarkpng = (string)

Caminho do PNG a ser usado como marca d`água.

$thumb -> Watermarkposition = (string)

Posição da marca. (50% 50%) é o meio da imagem.

$thumb -> Watermarktransparency = (int)

Nível de transparencia da marca d`água.

$thumb -> Quality = (int)

Qualidade da imagem resultante.

$thumb -> Chmodlevel = (string)

O código de acesso da imagem resultante (CHMOD).

$thumb -> Thumblocation = (string)

Endereço do diretório para salvar a nova imagem.

$thumb -> Thumbprefix = (string)

Prefixo do nome do arquivo gerado (padrão é thumbnail_).

Page 8: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 8/14

$thumb -> Thumbsaveas = (string)

Converte o arquivo gerado para o format informado (GIF, JPG ou PNG).

$thumb -> Clipcorner = (array)

Corta as bordas da imagem obedecendo os parametros de um array de 7 posições.

[0]: 0 = desabilitado, 1 = reto, 2 arredondado.[1]: Porcentagem do corte.[2]: Cortar randomicamente. 0 = desabilitado, 1 habilitado[3]: Borda superior esquerda. 0 = não cortar, 1 cortar[4]: Borda inferior esquerda. 0 = não cortar, 1 cortar[5]: Borda superior direita. 0 = não cortar, 1 cortar[6]: Borda inferior direita. 0 = não cortar, 1 cortar

$thumb -> Ageimage = (array)

 Adiciona o efeito de imagem envelhecido obedecendo os parametros de um array de 3 posições.

[0]: 0 = desabilitado, 1 = habilitado[1]: Adicionar ruído. De 0 a 100.[2]: Profundidade do Sephia. De 0 a 100. (0 = escala de cinza).

$thumb -> Cropimage = (array)

Corta a imagem obedecendo um array de 6 posições.

[0]: 0=desabilitado 1=habilitar corte livre 2=habilitar corte a partir do centro 3=habilitar corte retangular[1]: 0=porcentagem 1=pixels[2]: Cortar esquerda[3]: Cortar direita[4]: Cortar acima[5]: Cortar abaixo.

$thumb -> Borderpng = (string)

O caminho do png da borda a ser utilizada.

$thumb -> Copyrighttext = (string)

Texto de copyright a ser inserido sobre a imagem.

$thumb -> Copyrightposition = (string)

Posição do texto na imagem (50% 50% é o centro da imagem).

Page 9: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 9/14

$thumb -> Copyrightfonttype = (string)

Endereço do arquivo TTF da fonte a ser utilizada no texto caso queira utilizar uma fonte diferente.

$thumb -> Copyrightfontsize = (int)

O tamanho da fonte do texto.

$thumb -> Copyrighttextcolor = (string)

 A cor do texto.

$thumb -> Rotate = (int)

Rotacionar a imagem em graus.

$thumb -> Fliphorizontal = (boolean)

Inverte a imagem horizontalmente.

$thumb -> Flipvertical = (boolean)

Inverta a imagem verticalmente.

$thumb -> Square = (boolean)

Desenha o arquivo emu ma tela quadrada.

$thumb -> Applyfilter = (boolean)

 Aplica um filtro 3x3 definido pelo usuário.

$thumb -> Filter = (array)

Matriz do filtro definido pelo usuário com nove posições.

[0]: a1,1[1]: a1,2[2]: a1,3[3]: a2,1[4]: a2,2

[5]: a2,3[6]: a3,1

Page 10: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 10/14

[7]: a3,2[8]: a3,3

$thumb -> Divisor = (int)

O divisor do filtro.

$thumb -> Offset = (int)

Cor offset para o filtro.

$thumb -> Blur = (boolean)

Filtro automatico: Blur.

$thumb -> Sharpen = (boolean)

Filtro automatico: Sharpen

$thumb -> Edge = (boolean)

iltro automatico: Edge

$thumb -> Emboss = (boolean)

Filtro automatico: Emboss

$thumb -> Mean = (boolean)

Filtro automatico: Mean

$thumb -> Croprotate = (boolean)

Rotaciona e corta a imagem para que fique do tamanho da camada definida.

$thumb -> Perspective = (array)

 Aplica uma pespectiva na imagem obedecendo uma matriz de 3 posições.

[0]: 0=desabilitar 1=habilitar

[1]: Direção 0=esquerda 1=direita 2=topo 3=abaixo[2]: Força da perspectiva. De 0 a 100.

Page 11: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 11/14

 

$thumb -> Perspectivethumb = (array)

 Aplica uma perspectiva na imagem obedecendo um vetor de 3 posições.

[0]: 0=desabilitar 1=habilitar[1]: Direção 0=esquerda 1=direita 2=topo 3=abaixo[2]: Força da perspectiva. De 0 a 100.

$thumb -> Shading = (array)

 Aplica o efeito shading na imagem (efeito de grafite).

[0]: 0=desabilitar 1=habilitar[1]: Força do efeito. 0 – 100[2]: Área do efeito. 0 – 100

[1]: Direção 0=esquerda 1=direita 2=topo 3=abaixo

$thumb -> Shadingcolor = (string)

 A cor do efeito Shading no format exadecimal (#FFFFFF).

$thumb -> Mirror = (array)

 Aplica o efeito de espelhamento obedecendo um vetor de 5 posições.

[0]: 0=desabilitar 1=habilitar[1]: Força do início do efeito do gradiente 0 – 100[2]: Força do fim do efeito do gradiente 0 – 100[3]: Área do efeito 0 – 100[4]: Lacuna entre a imagem original e o efeito em pixels.

$thumb -> Mirrorcolor = (string)

Cor do espelhamento.

$thumb -> Negative = (boolean)

Efeito de negative na imagem.

$thumb -> Colorreplace = (array)

Subtitui uma cor por outran a imagem. Obedece um vetor de 4 posições.

[0]: 0=desabilitar 1=habilitar[1]: Cor a ser utiizada: ('#00FF00').

Page 12: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 12/14

[2]: Cor a ser substituida: ('#FF0000').[3]: Tolerancia RGB 0 - 100

$thumb -> Pixelscramble = (array)

Reposiciona os pixels aleatoriamente na imagem.

[0]: 0=desabilitar 1=habilitar[1]: Arranjo dos pixels[2]: Repetições (use com cuidado!).

$thumb -> Greyscale = (boolean)

Converter imagens para escala de cinza.

$thumb -> Brightness = (array)

 Altera o brilho da imagem obedecendo um vetor de duas posições.

[0]: 0=desabilitar 1=habilitar[1]: Brilho. De -100 a 100.

$thumb -> Contrast = (array)

Change the contrast of the image array(1,30)

[0]: 0=desabilitar 1=habilitar[1]: Contraste. De -100 a 100.

$thumb -> Gamma = (array)

Muda o fator gamma da imagem.

[0]: 0=desabilitar 1=habilitar[1]: Fator de correção Gamma.

$thumb -> Palette = (array)

Change the palette of the image array(1,32)

[0]: 0=desabilitar 1=habilitar[1]: Fator de correção Gamma.

$thumb -> Colorize = (array)

Mesclar uma corn a matriz de cores da imagem. Obedece um vetor de 5 posições.

Page 13: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 13/14

[0]: 0=desabilitar 1=habilitar[1]: RGB, Vermelho. 0 – 255[2]: RGB, Verde. 0 – 255[3]: RGB, Azul. 0 – 255[4]: Nível de opacidade. 0 – 127.

$thumb -> Pixelate = (array)

Pixelar uma imagem. Obedece um vetor de 2 posições.

[0]: 0=desabilitar 1=habilitar[1]: Tamanho do bloco em pixels.

$thumb -> Medianfilter = (boolean)

 Aplica o filtro mediano de redução de ruídos.

$thumb -> Twirlfx = (array)

 // Aplica o efeito twirl na imagem. Obedece um vetor de 3 posições.

[0]: 0=desabilitar 1=habilitar[1]: Força do Efeito. 0 – 100[2]: Direção do espiral 0=horário 1=anti-horário.

$thumb -> Ripplefx = (array)

 // Aplica um feito de distorção na imagem. Obedece um vetor de 5 posições.

[0]: 0=desabilitar 1=habilitar[1]: Quantidade de ondas horizontais[2]: Amplitude das ondas horizontais[3]: Quantidade de ondas verticais[4]: Amplitude das ondas verticais

$thumb -> Lakefx = (array)

 Aplica a deformação (Lake) na imagem.

[0]: 0=desabilitar 1=habilitar[1]: Densidade das ondas.[2]: Área mensurada pelo efeito. 0 – 100.

$thumb -> Waterdropfx = (array)

 Apply a waterdrop deformation to the image array(1,1.2,400,40)

Page 14: Plugin EasyPHPThumbnail

5/16/2018 Plugin EasyPHPThumbnail - slidepdf.com

http://slidepdf.com/reader/full/plugin-easyphpthumbnail 14/14

[0]: 0=desabilitar 1=habilitar[1]: Amplitude em pixels[2]: Radius em pixels[3]: Força das ondas em pixels.

$thumb -> Maketransparent = (array)

Faz com que a imagem fique transparente

[0]: 0=desabilitar 1=habilitar[1]: 0=PNG, 1=GIF[2]: Cor a ser substituida pela transparência: '#FF0000'[3]: Tolerancia RGB. 0 - 100