Programação PHP: Gere imagens miniaturas (Thumbnail) ou mesmo redimensione imagens para um certo padrão, de forma prática e com ótimos recursos como moldura, borda, texto e muitos outros efeitos.
Sobre
Como diz o ditado: “Uma imagem vale por mil palavras”. Fazendo disso uma verdade, segue abaixo alguns dos inúmeros efeitos que a classe easyphpthumbnail.class.php pode lhe proporcionar. Tudo com código fonte e exemplo da imagem com seu respectivo efeito.
Para o código não ficar repetitivo, nos exemplos seguintes irei escrever apenas os códigos relativos aos efeitos, representado pelo item (3) abaixo, já que a lógica para todos efeitos tem a mesma sequência.
Código padrão | Obrigatório em todos os exemplos seguintes
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?php
/** (1) Importa a classe: easyphpthumbnail.class.php */
include_once('easyphpthumbnail.class.php');
/** (2) Instancia um objeto da classe: $thumb */
$thumb = new easyphpthumbnail;
/** (3) Aplica o código fonte com o EFEITO desejado */
$thumb -> Thumbsize = 300;
/** (4) Cria um thumbnail e a saída na tela ou arquivo */
$thumb -> Createthumb('image.jpg');
?> |
<?php
/** (1) Importa a classe: easyphpthumbnail.class.php */
include_once('easyphpthumbnail.class.php');
/** (2) Instancia um objeto da classe: $thumb */
$thumb = new easyphpthumbnail;
/** (3) Aplica o código fonte com o EFEITO desejado */
$thumb -> Thumbsize = 300;
/** (4) Cria um thumbnail e a saída na tela ou arquivo */
$thumb -> Createthumb('image.jpg');
?>
Observação
No exemplo acima, a imagem é exibida na tela em tempo de execução. Caso você queira gravar a imagem em disco, utilize ‘file’ como segundo parâmetro do método Createthumb(), conforme a seguir demonstrado:
1
2
3
4
| <?php
// Cria a imagem miniatura (thumbnail) e grava em arquivo
$thumb -> Createthumb('gfx/image.jpg', 'file');
?> |
<?php
// Cria a imagem miniatura (thumbnail) e grava em arquivo
$thumb -> Createthumb('gfx/image.jpg', 'file');
?>
Dentro do pacote disponível para download, existe o arquivo API.txt que contém descrições de todas as variáveis e funções da classe easyphpthumbnail.class.php.
Imagem original – 150 x 113 pixels | Sobre esta imagem serão aplicados efeitos
Exemplo 1 – Redimensionamento automático da imagem | A imagem é ajustada para o tamanho 90 pixels
1
2
3
| <?php
$thumb -> Thumbsize = 90;
?> |
<?php
$thumb -> Thumbsize = 90;
?>
Exemplo 2 – Adiciona um quadro ao redor da imagem | 10 px de largura e na cor vermelha
1
2
3
4
| <?php
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#FF0000';
?> |
<?php
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#FF0000';
?>
Exemplo 3 – Adiciona um texto (copyright) na imagem | Define texto, posição, tipo, tamanho e cor da fonte
1
2
3
4
5
6
7
| <?php
$thumb -> Copyrighttext = 'taylorlopes.com';
$thumb -> Copyrightposition = '50% 90%';
$thumb -> Copyrightfonttype = 'MAIAN.TTF';
$thumb -> Copyrightfontsize = 14;
$thumb -> Copyrighttextcolor = '#FFFFFF';
?> |
<?php
$thumb -> Copyrighttext = 'taylorlopes.com';
$thumb -> Copyrightposition = '50% 90%';
$thumb -> Copyrightfonttype = 'MAIAN.TTF';
$thumb -> Copyrightfontsize = 14;
$thumb -> Copyrighttextcolor = '#FFFFFF';
?>
Exemplo 4 – Define a altura da imagem | Mantém as proporções: 50px de altura
1
2
3
| <?php
$thumb -> Thumbheight = 50;
?> |
<?php
$thumb -> Thumbheight = 50;
?>
Exemplo 5 – Define a largura da imagem | Mantém as proporções: 100px de largura
1
2
3
| <?php
$thumb -> Thumbwidth = 100;
?> |
<?php
$thumb -> Thumbwidth = 100;
?>
Exemplo 6 – Defina o redimensionamento de percentagem em vez de pixels | 50% do tamanho original
1
2
3
4
| <?php
$thumb -> Thumbsize = 50;
$thumb -> Percentage = true;
?> |
<?php
$thumb -> Thumbsize = 50;
$thumb -> Percentage = true;
?>
Exemplo 7 – Permitir que as imagens sejam alargadas (Infladas) | Ajusta para 300 px
1
2
3
4
| <?php
$thumb -> Thumbsize = 300;
$thumb -> Inflate = true;
?> |
<?php
$thumb -> Thumbsize = 300;
$thumb -> Inflate = true;
?>
Exemplo 8 – Define a qualidade da imagem, de 0 a 100 | 10% de qualidade em relação a original
1
2
3
| <?php
$thumb -> Quality = 10;
?> |
<?php
$thumb -> Quality = 10;
?>
Exemplo 9 – Cria uma sombra na imagem | Define a cor do sombreamento
1
2
3
4
| <?php
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
?> |
<?php
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Shadow = true;
?>
Exemplo 10 – Recorta os cantos da imagem | Define a cor do de fundo (área cortada)
1
2
3
4
| <?php
$thumb -> Backgroundcolor = '#FFFFFF';
$thumb -> Clipcorner = array(1,15,0,1,1,1,1);
?> |
<?php
$thumb -> Backgroundcolor = '#FFFFFF';
$thumb -> Clipcorner = array(1,15,0,1,1,1,1);
?>
Exemplo 11 – Simula a idade da imagem | Imagem com aparência antiga
1
2
3
| <?php
$thumb -> Ageimage = array(1,10,80);
?> |
<?php
$thumb -> Ageimage = array(1,10,80);
?>
Exemplo 12 – Adiciona uma moldura na imagem | A moldura é ajustada à imagem
1
2
3
| <?php
$thumb -> Borderpng = 'border.png';
?> |
<?php
$thumb -> Borderpng = 'border.png';
?>
Exemplo 13 – Simula um fichário (aspiral) adicionado à imagem | Define borda e cor do quadro
1
2
3
4
5
6
| <?php
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#000000';
$thumb -> Binder = true;
$thumb -> Binderspacing = 8;
?> |
<?php
$thumb -> Framewidth = 10;
$thumb -> Framecolor = '#000000';
$thumb -> Binder = true;
$thumb -> Binderspacing = 8;
?>
Exemplo 14 – Gira a imagem de paisagem para retrato, no sentido horário | 90 graus
1
2
3
| <?php
$thumb -> Rotate = 90;
?> |
<?php
$thumb -> Rotate = 90;
?>
Exemplo 15 – Inverte a imagem horizontalmente
1
2
3
| <?php
$thumb -> Fliphorizontal = true;
?> |
<?php
$thumb -> Fliphorizontal = true;
?>
Exemplo 16 – Inverte a imagem verticalmente
1
2
3
| <?php
$thumb -> Flipvertical = true;
?> |
<?php
$thumb -> Flipvertical = true;
?>
Exemplo 17 – Gira a imagem sem cortes
1
2
3
| <?php
$thumb -> Rotate = -30;
?> |
<?php
$thumb -> Rotate = -30;
?>
Exemplo 18 – Gira e corta a imagem
1
2
3
4
5
| <?php
$thumb -> Rotate = -30;
$thumb -> Croprotate = true;
$thumb -> Backgroundcolor = '#FFFFFF';
?> |
<?php
$thumb -> Rotate = -30;
$thumb -> Croprotate = true;
$thumb -> Backgroundcolor = '#FFFFFF';
?>
Exemplo 19 – Cria uma tela sempre quadrada | O pontilhado é só para destacar que a imagem ficou quadrada
1
2
3
| <?php
$thumb -> Square = true;
?> |
<?php
$thumb -> Square = true;
?>
Exemplo 20 – Recorta a imagem
1
2
3
| <?php
$thumb -> Cropimage = array(2,0,20,20,35,35);
?> |
<?php
$thumb -> Cropimage = array(2,0,20,20,35,35);
?>
Exemplo 21 – Cria uma marca d’água
1
2
3
4
5
| <?php
$thumb -> Watermarkpng = 'watermark.png';
$thumb -> Watermarkposition = '50% 50%';
$thumb -> Watermarktransparency = 40;
?> |
<?php
$thumb -> Watermarkpng = 'watermark.png';
$thumb -> Watermarkposition = '50% 50%';
$thumb -> Watermarktransparency = 40;
?>
Exemplo 22 – Aplica um filtro pré-definido para a imagem (lento em PHP4)
1
2
3
4
5
6
7
| <?php
$thumb -> Edge = true;
$thumb -> Emboss = true;
$thumb -> Sharpen = true;
$thumb -> Blur = true;
$thumb -> Mean = true;
?> |
<?php
$thumb -> Edge = true;
$thumb -> Emboss = true;
$thumb -> Sharpen = true;
$thumb -> Blur = true;
$thumb -> Mean = true;
?>
Exemplo 23 – Aplica um filtro personalizado para a imagem (lento no PHP4)
1
2
3
4
5
6
| <?php
$thumb -> Filter = array(-1,-1,-1,-1,8,-1,-1,-1,-1);
$thumb -> Divisor = 1;
$thumb -> Offset = 0;
$thumb -> Applyfilter = true;
?> |
<?php
$thumb -> Filter = array(-1,-1,-1,-1,8,-1,-1,-1,-1);
$thumb -> Divisor = 1;
$thumb -> Offset = 0;
$thumb -> Applyfilter = true;
?>
Exemplo 24 – Aplica uma perspectiva para a imagem | Esquerda para direita
1
2
3
4
| <?php
$thumb -> Perspective = array(1,0,20);
$thumb -> Backgroundcolor = '#FFFFFF';
?> |
<?php
$thumb -> Perspective = array(1,0,20);
$thumb -> Backgroundcolor = '#FFFFFF';
?>
Exemplo 25 – Aplica uma perspectiva para a imagem | Direita para esquerda – Thumb
1
2
3
4
| <?php
$thumb -> Perspectivethumb = array(1,1,25);
$thumb -> Backgroundcolor = '#FFFFFF';
?> |
<?php
$thumb -> Perspectivethumb = array(1,1,25);
$thumb -> Backgroundcolor = '#FFFFFF';
?>
Exemplo 26 – Aplica um efeito de sombreamento interno
1
2
3
4
| <?php
$thumb -> Shading = array(1,70,80,0);
$thumb -> Shadingcolor = '#D0DEEE';
?> |
<?php
$thumb -> Shading = array(1,70,80,0);
$thumb -> Shadingcolor = '#D0DEEE';
?>
Exemplo 27 – Aplica um efeito de espelho na imagem
1
2
3
4
5
| <?php
$thumb -> Mirror = array(1,10,90,40,2);
$thumb -> Mirrorcolor = '#FFFFFF';
$thumb -> Backgroundcolor = '#FFFFFF';
?> |
<?php
$thumb -> Mirror = array(1,10,90,40,2);
$thumb -> Mirrorcolor = '#FFFFFF';
$thumb -> Backgroundcolor = '#FFFFFF';
?>
Exemplo 28 – Aplica um efeito de negativo
1
2
3
| <?php
$thumb -> Negative = true;
?> |
<?php
$thumb -> Negative = true;
?>
Exemplo 29 – Troca uma cor na imagem | Troca a cor preta por azul
1
2
3
| <?php
$thumb -> Colorreplace = array(1,'#000000','#0000FF',60);
?> |
<?php
$thumb -> Colorreplace = array(1,'#000000','#0000FF',60);
?>
Exemplo 30 – Reposiciona os pixels randomicamente | Efeito de distorção
1
2
3
| <?php
$thumb -> Pixelscramble = array(1,4,2);
?> |
<?php
$thumb -> Pixelscramble = array(1,4,2);
?>
Exemplo 31 – Converte para escala de cinza
1
2
3
| <?php
$thumb -> Greyscale = true;
?> |
<?php
$thumb -> Greyscale = true;
?>
Exemplo 32 – Altera o Brilho da imagem
1
2
3
| <?php
$thumb -> Brightness = array(1,50);
?> |
<?php
$thumb -> Brightness = array(1,50);
?>
Exemplo 33 – Mescla uma cor
1
2
3
| <?php
$thumb -> Colorize = array(1,0,0,125,0);
?> |
<?php
$thumb -> Colorize = array(1,0,0,125,0);
?>
Exemplo 34 – Torce uma imagem
1
2
3
| <?php
$thumb -> Twirlfx = array(1,20,0);
?> |
<?php
$thumb -> Twirlfx = array(1,20,0);
?>
Exemplo 35 – Cria efeito de ondulação na imagem
1
2
3
| <?php
$thumb -> Ripplefx = array(1,5,15,5,5);
?> |
<?php
$thumb -> Ripplefx = array(1,5,15,5,5);
?>
Exemplo 36 – Cria efeito de lago na imagem
1
2
3
| <?php
$thumb -> Lakefx = array(1,15,80);
?> |
<?php
$thumb -> Lakefx = array(1,15,80);
?>
Exemplo 37 – Cria efeito de gota d’água na imagem
1
2
3
| <?php
$thumb -> Waterdropfx = array(1,1.2,400,40);
?> |
<?php
$thumb -> Waterdropfx = array(1,1.2,400,40);
?>
Exemplo 38 – Combinando alguns efeitos
1
2
3
4
5
6
7
8
9
10
11
12
| <?php
$thumb -> Thumbsize = 300;
$thumb -> Copyrighttext = 'taylorlopes.com';
$thumb -> Copyrightposition = '50% 80%';
$thumb -> Copyrightfonttype = 'MAIAN.TTF';
$thumb -> Copyrightfontsize = 20;
$thumb -> Copyrighttextcolor = '#FFFFFF';
$thumb -> Borderpng = 'border.png';
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Mirror = array(1,30,90,40,2);
$thumb -> Mirrorcolor = '#D0DEEE';
?> |
<?php
$thumb -> Thumbsize = 300;
$thumb -> Copyrighttext = 'taylorlopes.com';
$thumb -> Copyrightposition = '50% 80%';
$thumb -> Copyrightfonttype = 'MAIAN.TTF';
$thumb -> Copyrightfontsize = 20;
$thumb -> Copyrighttextcolor = '#FFFFFF';
$thumb -> Borderpng = 'border.png';
$thumb -> Backgroundcolor = '#D0DEEE';
$thumb -> Mirror = array(1,30,90,40,2);
$thumb -> Mirrorcolor = '#D0DEEE';
?>
Total de acessos: 54639
caraca nossa que classe é essa eu pirei da pra manupular bem uma imagem.. parabens… gostei muito
Great tutorial !!
Make sure you download the latest version from 2010, which includes APNG animation.
does not work with file names that have numbers in them, e.g; hof00000.jpg
Segundo nosso amigo aí, o script não trabalha com nomes de arquivos que contenham números neles, Ex: hof00000.jpg. Não confirmei…
I can’t replicate the problem. Could it be server related, what OS, PHP, could it be your thumbnail code?
Who knows … difficult to understand why.
Olá Taylor, estou com uma dúvida muito cruel…
No uso de imagens dinãmicas o uso de função no lugar do image.jpg não me ajudaria certo??
/** (4) Cria um thumbnail e a saída na tela ou arquivo */
$thumb -> Createthumb(‘image.jpg’);
Qual seria o melhor modo de se fazer isto??
Oi Rodrigo, cara, juro que não entendi sua dúvida! :) Explica melhor… falou!
Boa tarde Taylor,
muito bom para manipular as imagens, só tem um detalhe que eu acabei encontrando, que ao setar o chmod da pasta, na linha 1843 da sua classe:
if ($this->Chmodlevel!=”) {chmod($this->Thumblocation.$this->Thumbprefix.$this->image,octdec($this->Chmodlevel));}
falta um basename antes do atributo $this->image, pois senao ele n encontrar o caminho correto da sua pasta. Ficando assim:
if ($this->Chmodlevel!=”) {chmod($this->Thumblocation.$this->Thumbprefix.basename($this->image),octdec($this->Chmodlevel));}
No mais ta tudo tranquilo. Valeu, abraços
Valeu Alyson pelo retorno… bom saber!
É possivel utilizar essa classe para gerar miniaturas de sites?
Eu quero mostrar a imagem (thumb) de um site apenas adicionando a URL dele. Ex.: http://www.google.com
Como isso é possível?
Oi Elenilton.
Essa classe PHP gera uma imagem com um dos efeitos acima descritos, a partir de outra imagem. Ou seja, ela pega uma imagem já existente e cria outra, que inclusive pode ser um thumbnail (miniatura)! Pelo que entendi, você quer tirar um printscreen ou screenhost. Neste caso, esta classe não te atende, pois a imagem “matriz” ainda não existe.
Para tirar screenhost (capturar tela de sites), você pode instalar um plugin Firefox ou aplicativos para este fim:
ScreenGrab – http://www.screengrab.org/
LightShot – http://lightshot.skillbrains.com/
WebShot – http://www.websitescreenshots.com/
Você também pode usar sites que fazem este serviço online (screenhost), bastando digitar a URL do site que deseja capturar a tela:
Thumbalizr – http://www.thumbalizr.com/
Webshotspro – http://www.webshotspro.com/
Kwout – http://kwout.com/
Não sei se era isso, mas fica aqui esta dica! Aliás, tem muitos outros por aí… Falou, t+
Essa duvida ‘e a mesma que tenho.
Eu tenho imagens que preciso redimencionar.
Mas as imagens estao em outro servidor.
Pra usar essa clase eu fiz assim :
$thumb -> Createthumb(‘http://www.agritechmt.com.br/files/imagens/201201/1325718595.png’);
mas não deu certo.
Como poderia fazer algo do tipo.
Tem alguma forma de informar a url da imagem?
Obrigado
Uma coisa é capturar a tela de um site (screenhost); outra é recuperar uma imagem… em todo caso, veja abaixo o comentário que fiz aqui em “5 de janeiro de 2012 às 9:42” sobre “CRIANDO THUMBNAIL DE IMAGEM LOCALIZADA EM OUTRO SITE”. Falouuu…
A classe disponível para download esta com problemas. É necessário adicionar — > private $Polaroid; para que a classe funcione.
Oi Alex, estou usando PHP Version 5.3.0 e não deu problema algum, inclusive testei novamente hoje. Derrepente tem a ver com a versão do PHP que está usando… Valeu!
galera, as configurações não estão funcionando.
Ele salva a imagem, mais nao aceita redimencionar nem outro efeito.
Alguem pode me ajudar
Oi Geovani, seguinte, testei aqui e funciona perfeitamente todas as configurações do exemplo acima (redimensionamento, efeitos, salvar imagem em disco, etc). Será que seu problema não é por que está faltando habilitar a extensão php_gd2 no seu php.ini? O GD é uma biblioteca do PHP utilizada para manipulação de imagem. Só pra constar, estou usando PHP Version 5.3.0. Falou, T+.
Taylor, o script é mto bom. Era justamente isso que eu estava procurando, mas tenho uma dúvida.
E se eu quiser colocar dentro de um looping? Como funcionaria? Eu tentei abaixo e não funcionou. Provavelmente errei alguma coisa.
Obrigado!
$sql = “SELECT * from ultimoscloses WHERE ativo=’1′ ORDER BY id DESC LIMIT 3”;
$resultado = mysql_query($sql);
while($linha = mysql_fetch_array($resultado, MYSQL_BOTH)){
$foto1=$linha[‘foto1’];
?>
Createthumb(‘admin/foto/$foto1’);?>
Oi André, testei aqui e funciona bem. O que você deve fazer é salvar o thumbnail e depois exibí-lo, ao invés de apenas jogar a saída para a tela. Como descrevi neste Artigo você deve usar a opção ‘file’ no segundo parâmetro do método Createthumb. Abaixo fiz e testei um exemplo de loop com imagens, basta adaptar a sua necessidade. Falou, t+
FAZENDO LOOP COM IMAGENS
Bom dia Taylor tudo bem?
Estou tentando utilizar a classe que vocÊ postou, para recuperar imagens vindas do banco de dados, gerar as miniaturas e imprimir elas na tela.
Porém como é uma busca, e esta é percorrida através de um while,e o número de imagens é diferente a cada pesquisa, não consegui ajustar
para funcionar.
Teria alguma forma de que ele ao invés de salvar apenas imprima o efeito na tela?
Ou o que você me propõe?
Obrigado desde já.
cara copiei e colei o teu exemplo mas não funcionou pode me ajudar??
//teste para ver se foto realmento existe
echo ”;
/** (1) Importa a classe: easyphpthumbnail.class.php */
include_once(‘easyphpthumbnail.class.php’);
/** (2) Instancia um objeto da classe: $thumb */
$thumb = new easyphpthumbnail();
/** (3) Aplica o código fonte com o EFEITO desejado */
$thumb -> Thumbsize = 100;
/** (4) Array de imagens – PODE SER ENTRADA VINDA DO BANCO DE DADOS */
$images = array(‘fotos/vagner.jpg’, ‘fotos/511e3eaf61191.jpg’);
/** (5) Faz o loop para criar as imagens e exibí-las */
foreach ($images as $image) {
/** (6) Cria o thumbnail e salva em disco local */
$thumb -> Createthumb($image, ‘file’);
/** (7) Exibe o thumbnail salvo */
echo “”;
}
/** (8) Destroi o objeto – libera memória */
unset($thumb);
Oi Vagner, cara, o código funciona, testei várias vezes. Que chave “}” perdida ali depois da linha 7? Outra coisa, como disse antes, será que seu problema não é por que está faltando habilitar a extensão php_gd2 no seu php.ini?
O Script que estou tentando fazer e por algum motivo não foi completo seria este abaixo:
$sql = “SELECT * from ultimoscloses WHERE ativo=’1′ ORDER BY id DESC LIMIT 3”;
$resultado = mysql_query($sql);
while($linha = mysql_fetch_array($resultado, MYSQL_BOTH)){
$titulo = $linha[‘titulo’];
$id = $linha[‘id’];
$subtitulo = $linha[‘subtitulo’];
$link = $linha[‘link’];
$foto1=$linha[‘foto1’];
?>
Createthumb(‘admin/ultimoscloses/$foto1’);?>
Obrigado!
Opa, veja a resposta imediatamente acima…
Muito boa a classe.
Uso a muito tempo (cerca de 2 anos) a Classe do Verot.net que tem algumas das funcionalidades similares a essa classe.
Vou implementar sua classe em alguns dos meus projetos tambem.
Parabéns pelo trabalho.
Gostei muito desta classe, gostaria de saber se é possível usar ela com um arquivo vindo de um formulário.
Exemplo:
Tenho a página upload.php onde tenho o formulário para adicionar um arquivo, adiciono o arquivo e envio para o arquivo da classe.
a classe faria a função de criar o thumbnail em arquivo.
Será que tem como fazer isso?
O que me diz ou o que eu posso fazer em relação?
Obrigado e parabéns pelo post.
Buenas, consegui fazer isso… Valeu. Obrigado
teho um sistema e preciso redimencionar imagens que não estejam no diretorio local e sim na web.
Tentei colocar uma imagem da web e não deu certo.
Será possivel?
Obrigado.
Oi Wanderson, você primeiro precisa salvar a imagem remota em disco para então depois poder aplicar o efeito. Veja:
CRIANDO THUMBNAIL DE IMAGEM LOCALIZADA EM OUTRO SITE
Valeu muito obrigado.
Ja tinha pensado nisso. Mas as imagens vão ficar salvas no servidor.
Ai tenho que criar um script que fara a limpeza das imagens com um determinado tempo que foram carregadas no site.
Por que isso geraria um acumulo de imagens que não serão usadas com tanta frequência.
O que eu queria era ver se tinha alguma forma de manipular uma imagem na web.
Mas mesmo assim obrigado.
Essa classe ja esta me ajudando bastante.
Assim não preciso reinventar a roda.
Valeu mesmo. O “Jos Nutbroek” está de parabéns.
E vc tambem por fazer a ponte entre a gente e essa classe que tenho certeza que ajudará muitos desenvolvedores.
Olá, também estou com o mesmo problema, só que no meu caso, utilizo url amigável, e quando ela está ativa dá o erro Warning: imagedestroy() expects parameter 1 to be resource, null given in C:\wamp\www\site……..class.php on line 1022 e quando desativo funciona sem qualquer problema… se souber como resolver isto, valeu e parabéns pelo post…
Olá Taylor Lopes,
parabéns pelo post é exatamente o que estava precisando.
Muito obrigado.
Gostaria de contar com sua ajuda, não consigo colocar o efeito em duas imagens, ambas em arrays diferentes.
uma fica com o tamanho que escolhi e a outra fica maior não entendi.
Atenciosamente,
Djalma Bento
Oi, você precisa tentar encontrar a causa do erro relatado. Veja que no comentário acima, em “18 de março de 2011 às 14:02”, demonstrei como fazer loop com as imagens (diferentes), sendo, portanto, possível. Certifique-se do tipo de imagem que você está tentando aplicar o efeito; mas isto não deve ser feito considerando a extensão do arquivo e sim o MIME. É que as vezes a extensão pode ser sido modificada, sem que a imagem tenha sido, e claro, o navegador exibe normalmente, pois baseia-se no MIME. Para ter certeza, abra a imagem com um editor qualquer e “salve como” sendo do tipo: .jpg, .png ou .gif. E por último, baixe novamente a classe (acima) e substitua pela que você está usando, pois acabei de atualizá-la pegando a última versão que o autor liberou. T+
Olá estou lendo sobre a biblieoteca GD, mas não consigui rodar o efeito, pra mim só aparece erro “A imagem http://localhost/teste.php contém erros e não pode ser exibida” eu uso o Xampp mais recente php 5.3.8 apache 2.2 e a biblioteca GD2 está habilitada
a classe está no memso diretório – tô achando muito estranho !
valeu
brother nao to conseguindo utilizar o codigo, estou tentando apos postar a imagem fazer com que ele crie a miniatura e salve o arquivo e esta dando o seguinte erro
Warning: imagedestroy(): supplied argument is not a valid Image resource in C:\Inetpub\vhosts\belasfestasbuffet.com.br\httpdocs\php\easyphpthumbnail.class.php on line 1000
o codigo que montei é o seguinte ,
//cria miniatura
/** (1) Importa a classe: easyphpthumbnail.class.php */
include_once(‘easyphpthumbnail.class.php’);
/** (2) Instancia um objeto da classe: $thumb */
$thumb = new easyphpthumbnail;
/** (3) Aplica o código fonte com o EFEITO desejado */
$thumb -> Thumbsize = 100;
// Cria a imagem miniatura (thumbnail) e grava em arquivo
$thumb -> Createthumb(‘$img’, ‘file’);
echo “”;
Testei seu código aqui e funcionou normal. A única coisa que fiz, claro, foi trocar sua variável $img por um nome de imagem válido (que existia no meu diretório). Fora isto, notei que as Aspas estava esquisitas, então troquei por aspas duplas. Rodou legal… Esse erro aí certamente é por que a imagem que você informou em $img não existe ou está com o nome diferente da existente….
Excelente classe e tutorial!
Não tive o erro do nome do arquivo com números, como o amigo aí disse.
CARACA CARA, SENSACIONAL
Uma biblioteca inteira dos efeito, Parabéns, e muito obrigado
Olá,
estou com uma duvida,
posso receber uma imagem via post e redimensiona-la em 3 tamanhos diferentes, cada um em uma determinada pasta?
Oi Eder, fiz uma função, não sei se ajuda… bastaria fazer as chamadas mudando os parâmetros, claro…
perfeita a função, parabéns
Olá Taylor, gostei muito da classe, mas testei com uma imagem no formato jpg e não funcionou, só funcionou com png e gif.
O que pode ter acontecido?
Diego, acabei de fazer um teste aqui e funcionou certinho com jpg, inclusive, todos os exemplos de imagens geradas no Artigo são em jpg também. Minha versão do PHP é 5.3.13. Lembro ainda que a extensão php_gd2 deve estar habilitada no php.ini. Verifique se há alguma mensagem de erro e busque uma solução adequada. Falouuu…
Ei, como faço para aplicar esses efeitos em fotos armazenadas em variáveis?
Ei, como faço para salvar o thumb dentro de uma pasta? Pq sempre está salvando no diretório raíz – Me ajude, por favor…
Taylor, esta classe tem como arredondar os cantos da miniatura, igual do G1?
Olá, para arredondar a borda ou canto da imagem, você poderia usar um simples CSS de 1 única linha, assim:
Exemplo:
Sem canto arredondado
Com canto arredondado
Olá Taylor, gostaria de saber como salvo a thumby dentro de uma pasta, já tentei de tudo e não consigo, parece que o plugin ão aceita, estou precisando muito, se alguém souber pode me ajudar?
Socorro!!
Oi, dê uma olhada no comentário do dia “24 de setembro de 2012 at 23:13”. Criei a função getURLImageSetThumb() onde um dos parâmetros é justamente o caminho absoluto para onde será salvo o Thumb. Veja se resolve… falou!
Bom dia Taylor, cara primeiro parabéns e muito obrigado por disponibilizar e dividir essa class maravilhosa. Cara to com uma duvida ai na hora de renomear a imagem.
[code]
$thumb -> Thumbprefix = ‘390-‘;
$thumb -> Thumblocation = ‘fotos/thumb/’;
$thumb -> Thumefilename = $reaname.’jpg’;
$thumb -> Createthumb(“fotos/”.$imagem,’file’);
[/code]
Paulo, desculpe. Não entendi sua pergunta. Por favor, explique melhor. T+
Olá Taylor. Gostaria de saber se existe algum método na biblioteca GD do PHP que possa identificar a orientação de uma foto. Estou tendo um grande problema e preciso criar um código para ajustar isso. Você pode me ajudar?
não estou conseguindo usar
ja tentei assim :
include_once(‘easyphpthumbnail.class.php’);
$thumb = new easyphpthumbnail;
$thumb->Createthumb(‘img/fotoA.jpg’);
assim :
Createthumb(‘img/fotoA.jpg’);
?>
<img src="Createthumb(‘img/fotoA.jpg’)?>” />
e assim
<img src="Createthumb(‘img/fotoA.jpg’)?>” />
nada da certo porque ??? estou usando PHP 5.3
Realmente só funciona com arquivos .png ou .gif não funciona com .jpg