Download - 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');
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');
?>
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.
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);
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');
?>
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.
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_).
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).
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
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.
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').
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.
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)
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