Criando imagem miniatura com PHP | Thumbnail com efeitos

programming 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.

Icon

easyphpthumbnail-20121216.zip
18.87 KB 5845 downloads

Autor: Jos Nutbroek (JN)
País: Holanda
site: PHP Classes

rau

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) hauv qab no, 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 = tshiab 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');
?>

hais
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');
?>

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

imgori

Piv txwv li 1 – Redimensionamento automático da imagem | A imagem é ajustada para o tamanho 90 pixels

1
2
3
<?php
     $thumb -> Thumbsize = 90; 
?>

Piv txwv li 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';
?>

Piv txwv li 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';
?>

Piv txwv li 4 – Define a altura da imagem | Mantém as proporções: 50px de altura

1
2
3
<?php
    $thumb -> Thumbheight = 50;
?>

Piv txwv li 5 – Define a largura da imagem | Mantém as proporções: 100px de largura

1
2
3
<?php
    $thumb -> Thumbwidth = 100;
?>

Piv txwv li 6 – Defina o redimensionamento de percentagem em vez de pixels | 50% do tamanho original

1
2
3
4
<?php
    $thumb -> Thumbsize = 50;
    $thumb -> Percentage = muaj tseeb;
?>

Piv txwv li 7 – Permitir que as imagens sejam alargadas (Infladas) | Ajusta para 300 px

1
2
3
4
<?php
    $thumb -> Thumbsize = 300;
    $thumb -> Inflate = muaj tseeb;
?>

Piv txwv li 8 – Define a qualidade da imagem, ntawm 0 a 100 | 10% de qualidade em relação a original

1
2
3
<?php
    $thumb -> Quality = 10;
?>

Piv txwv li 9 – Cria uma sombra na imagem | Define a cor do sombreamento

1
2
3
4
<?php
    $thumb -> Backgroundcolor = '#D0DEEE';
    $thumb -> Shadow = muaj tseeb;
?>

Piv txwv li 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);
?>

Piv txwv li 11 – Simula a idade da imagem | Imagem com aparência antiga

1
2
3
<?php
    $thumb -> Ageimage = array(1,10,80);
?>

Piv txwv li 12 – Adiciona uma moldura na imagem | A moldura é ajustada à imagem

1
2
3
<?php
    $thumb -> Borderpng = 'border.png';
?>

Piv txwv li 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 = muaj tseeb;
    $thumb -> Binderspacing = 8;
?>

Piv txwv li 14 – Gira a imagem de paisagem para retrato, no sentido horário | 90 graus

1
2
3
<?php
    $thumb -> Rotate = 90;
?>

Piv txwv li 15 – Inverte a imagem horizontalmente

1
2
3
<?php
    $thumb -> Fliphorizontal = muaj tseeb;
?>

Piv txwv li 16 – Inverte a imagem verticalmente

1
2
3
<?php
    $thumb -> Flipvertical = muaj tseeb;
?>

Piv txwv li 17 – Gira a imagem sem cortes

1
2
3
<?php
    $thumb -> Rotate = -30;
?>

Piv txwv li 18 – Gira e corta a imagem

1
2
3
4
5
<?php
    $thumb -> Rotate = -30;
    $thumb -> Croprotate = muaj tseeb;
    $thumb -> Backgroundcolor = '#FFFFFF';
?>

Piv txwv li 19 – Cria uma tela sempre quadrada | O pontilhado é só para destacar que a imagem ficou quadrada

1
2
3
<?php
    $thumb -> Square = muaj tseeb;
?>

Piv txwv li 20 – Recorta a imagem

1
2
3
<?php
    $thumb -> Cropimage = array(2,0,20,20,35,35);
?>

Piv txwv li 21 – Cria uma marca d’água

1
2
3
4
5
<?php
    $thumb -> Watermarkpng = 'watermark.png';
    $thumb -> Watermarkposition = '50% 50%';
    $thumb -> Watermarktransparency = 40;
?>

Piv txwv li 22 – Aplica um filtro pré-definido para a imagem (lento em PHP4)

1
2
3
4
5
6
7
<?php
    $thumb -> Edge = muaj tseeb;
    $thumb -> Emboss = muaj tseeb;
    $thumb -> Sharpen = muaj tseeb;
    $thumb -> Blur = muaj tseeb;
    $thumb -> Mean = muaj tseeb;
?>

Piv txwv li 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 = muaj tseeb;
?>

Piv txwv li 24 – Aplica uma perspectiva para a imagem | Esquerda para direita

1
2
3
4
<?php
    $thumb -> Perspective = array(1,0,20);
    $thumb -> Backgroundcolor = '#FFFFFF';
?>

Piv txwv li 25 – Aplica uma perspectiva para a imagem | Direita para esquerdaThumb

1
2
3
4
<?php
    $thumb -> Perspectivethumb = array(1,1,25);
    $thumb -> Backgroundcolor = '#FFFFFF';
?>

Piv txwv li 26 – Aplica um efeito de sombreamento interno

1
2
3
4
<?php
    $thumb -> Shading = array(1,70,80,0);
    $thumb -> Shadingcolor = '#D0DEEE';
?>

Piv txwv li 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';
?>

Piv txwv li 28 – Aplica um efeito de negativo

1
2
3
<?php
    $thumb -> Negative = muaj tseeb;
?>

Piv txwv li 29 – Troca uma cor na imagem | Troca a cor preta por azul

1
2
3
<?php
    $thumb -> Colorreplace = array(1,'#000000','#0000FF',60);
?>

Piv txwv li 30 – Reposiciona os pixels randomicamente | Efeito de distorção

1
2
3
<?php
    $thumb -> Pixelscramble = array(1,4,2);
?>

Piv txwv li 31 – Converte para escala de cinza

1
2
3
<?php
     $thumb -> Greyscale = muaj tseeb;
?>

Piv txwv li 32 – Altera o Brilho da imagem

1
2
3
<?php
     $thumb -> Brightness = array(1,50);
?>

Piv txwv li 33 – Mescla uma cor

1
2
3
<?php
     $thumb -> Colorize = array(1,0,0,125,0);
?>

Piv txwv li 34 – Torce uma imagem

1
2
3
<?php
     $thumb -> Twirlfx = array(1,20,0);
?>

Piv txwv li 35 – Cria efeito de ondulação na imagem

1
2
3
<?php
     $thumb -> Ripplefx = array(1,5,15,5,5);
?>

Piv txwv li 36 – Cria efeito de lago na imagem

1
2
3
<?php
     $thumb -> Lakefx = array(1,15,80);
?>

Piv txwv li 37 – Cria efeito de gota d’água na imagem

1
2
3
<?php
     $thumb -> Waterdropfx = array(1,1.2,400,40);
?>

Piv txwv li 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';
?>
Tag nrho cov accesses: 45465

55 xyuas “Criando imagem miniatura com PHP | Thumbnail com efeitos

  1. nyob zoo 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??

  2. 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. Tsaug, hugs

    • Oi Elenilton.
      Essa classe PHP gera uma imagem com um dos efeitos acima descritos, a partir de outra imagem. nyob rau hauv lwm yam lus, ela pega uma imagem já existente e cria outra, que inclusive pode ser um thumbnail (miniatura)! Raws li kuv to taub nws, você quer tirar um printscreen ou screenhost. nyob rau hauv cov ntaub ntawv no, esta classe não te atende, pois a imagemmatrizainda não existe.

      Para tirar screenhost (capturar tela de sites), você pode instalar um plugin Firefox ou aplicativos para este fim:
      ScreenGrabhttp://www.screengrab.org/
      LightShothttp://lightshot.skillbrains.com/
      WebShothttp://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:
      Thumbalizrhttp://www.thumbalizr.com/
      Webshotsprohttp://www.webshotspro.com/
      Kwouthttp://kwout.com/

      Não sei se era isso, mas fica aqui esta dica! Aliás, tem muitos outros por aí… hais, 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?
        ua tsaug rau koj

      • Uma coisa é capturar a tela de um site (screenhost); outra é recuperar uma imagemem todo caso, veja abaixo o comentário que fiz aqui em “5 Lub ib hlis ntuj 2012 rau 9:42” sobre CRIANDO THUMBNAIL DE IMAGEM LOCALIZADA EM OUTRO SITE. Falouuu

    • 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. hais, T+.

  3. André Luiz hais tias:

    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.

    ua tsaug rau koj!

    $sql =SELECT * from ultimoscloses WHERE ativo=’1ORDER 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 ‘fileno segundo parâmetro do método Createthumb. Abaixo fiz e testei um exemplo de loop com imagens, basta adaptar a sua necessidade. hais, t+

      FAZENDO LOOP COM IMAGENS

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      
      <?php
          /** (1) Importa a classe: easyphpthumbnail.class.php */
          include_once('easyphpthumbnail.class.php');
       
          /** (2) Instancia um objeto da classe: $thumb */
           $thumb = tshiab 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('example1.jpg', 'example2.jpg', 'example3.jpg');
       
          /** (5) Faz o loop para criar as imagens e exibí-las */
          foreach ($images raws li $image) {
       
            /** (6) Cria o thumbnail e salva em disco local */ 
            $thumb -> Createthumb($image, 'file');
       
            /** (7) Exibe o thumbnail salvo */      
            echo "<img src='thumbnail_".$image."' /><br />";
          }
       
          /** (8) Destroi o objeto - libera memória */ 
          unset($thumb);  
      ?>
      • Cleidisson hais tias:

        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á.

      • Vagner hais tias:

        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 imagensPODE 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 objetolibera 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?

  4. André Luiz hais tias:

    O Script que estou tentando fazer e por algum motivo não foi completo seria este abaixo:

    $sql =SELECT * from ultimoscloses WHERE ativo=’1ORDER 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’);?>

    ua tsaug rau koj!

  5. 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.

  6. Marcelo hais tias:

    Gostei muito desta classe, gostaria de saber se é possível usar ela com um arquivo vindo de um formulário.

    Piv txwv li:

    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.

    • 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

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      
          /** (1) Recupera a imagem remota (em outro site) */
          $image_remote = file_get_contents('http://taylorlopes.com/images/logo.gif'); 
       
          /** (2) Define o nome da imagem local a ser salva em disco */ 
          $image_local = 'imagem.jpg';
       
          /** (3) Salva a imagem em disco local */
          file_put_contents($image_local, $image_remote);
       
          /** (4) Importa a classe: easyphpthumbnail.class.php */
          include_once('easyphpthumbnail.class.php');
       
          /** (5) Instancia um objeto da classe: $thumb */
          $thumb = new easyphpthumbnail;
       
          /** (6) Aplica o código fonte com o EFEITO desejado */
          $thumb->Thumbsize = 100;
       
          /** (7) Cria um thumbnail e e salva em disco (arquivo) */
          $thumb->Createthumb($image_local, 'file');
       
          /** (8) Exibe o thumbnail salvo */      
          echo "<img src='thumbnail_".$image_local."' /><br />";
       
          /** (9) Destroi o objeto - libera memória */ 
          unset($thumb);


      • 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.

        ua tsaug ntau. OJos Nutbroekestá de parabéns.
        E vc tambem por fazer a ponte entre a gente e essa classe que tenho certeza que ajudará muitos desenvolvedores.

      • Nyob zoo, 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 problemase souber como resolver isto, valeu e parabéns pelo post

  7. Djalma hais tias:

    Olá Taylor Lopes,
    parabéns pelo post é exatamente o que estava precisando.
    ua tsaug ntau ntau.

    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 Lub peb hlis ntuj 2011 rau 14:02”, demonstrei como fazer loop com as imagens (diferentes), sendo, yog li ntawd, 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 esalve comosendo 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+

  8. Régis Adamavicius hais tias:

    Olá estou lendo sobre a biblieoteca GD, mas não consigui rodar o efeito, pra mim só aparece erroA imagem http://localhost/teste.php contém erros e não pode ser exibidaeu uso o Xampp mais recente php 5.3.8 apache 2.2 e a biblioteca GD2 está habilitada
    a classe está no memso diretóriotô achando muito estranho !

    khwv tau

  9. Camilo hais tias:

    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 “”;

    • Taylor Lopes hais tias:

      Testei seu código aqui e funcionou normal. A única coisa que fiz, ntshiab, 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 legalEsse erro aí certamente é por que a imagem que você informou em $img não existe ou está com o nome diferente da existente….

    • Oi Eder, fiz uma função, não sei se ajudabastaria fazer as chamadas mudando os parâmetros, ntshiab…

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      
      <?php
      /**
       * Recupera uma imagem por URL e cria um Thumbnail
       * @author Taylor Lopes   2012.09.24 - taylorlopes.com
       * @param  $image_input   URL da imagem de entrada (original)
       * @param  $image_output  Caminho absoluto para onde será salvo o Thumb 
       * @param  $image_effects array de efeitos
       * @return boolean
       * @dependence class easyphpthumbnail.class.php
      */  
      muaj nuj nqi getURLImageSetThumb($image_input, $image_output, $image_effects) {
        $image_remote = file_get_contents($image_input); 
        file_put_contents( basename($image_output), $image_remote);
        include_once('easyphpthumbnail.class.php'); 
        $thumb = tshiab easyphpthumbnail;      
        foreach($image_effects raws li $effect => $nqi) {
          $thumb->$effect = $nqi;
        }  
        @$thumb->Createthumb( basename($image_output), 'file');
        if (copy("thumbnail_".basename($image_output), $image_output)) {
          unlink(basename($image_output));
          unlink("thumbnail_".basename($image_output));
          return muaj tseeb;
        } else {
          return false;
        }      
      }
       
      // A chamada ficaria, piv txwv li, li ntawd,:
      $image_input   = 'http://taylorlopes.com/images/logo.gif';
      $image_output  = 'C:/wamp/www/suapasta/image.jpg';
      $image_effects = array('Shadow' => muaj tseeb,
                             'Thumbsize' => 300,
                             'Perspectivethumb' => array(1,1,25)
                            );                      
      getURLImageSetThumb($image_input, $image_output, $image_effects);
      ?>
    • 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

    • Nyob zoo, para arredondar a borda ou canto da imagem, você poderia usar um simples CSS de 1 única linha, li ntawd,:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      
      <!DOCTYPE html>
      <html>
        <lub taub hau>
          <title>Imagem com canto arredondado</title>
          <style>
            .ciam teb-image{ciam teb-radius:7px;}
          </style>
        </lub taub hau>
        <lub cev> 
           <img src="imgori.jpg" chav kawm ntawv="border-image" />
        </lub cev>
      </html>

      Piv txwv li:

      Sem canto arredondado

      Com canto arredondado

  10. Mara hais tias:

    nyob zoo 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 Cuaj hlis 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… hais!

  11. Paulo hais tias:

    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]

  12. nyob zoo 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?

  13. não estou conseguindo usar

    ja tentei assim :

    include_once(‘easyphpthumbnail.class.php’);
    $thumb = new easyphpthumbnail;
    $thumb->Createthumb(‘img/fotoA.jpg’);

    li ntawd, :

    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

Sau ntawv cia Ncua

Koj email chaw nyob yuav tsis tsum luam tawm. Yuav tsum tau teb cov cim nrog *