Criando imagem miniatura com PHP | Thumbnail com efeitos

barnaamijyada 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 5849 downloads

qoraaga: Jos Nutbroek (JN)
dalka: Holanda
Site: Fasallada PHP

on

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) hoos ku, 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 = cusub 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');
?>

tacliiq
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

tusaale ahaan 1 – Redimensionamento automático da imagem | A imagem é ajustada para o tamanho 90 pixels

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

tusaale ahaan 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';
?>

tusaale ahaan 3 – Adiciona um texto (copyright) na imagem | Define texto, posição, nooca, 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';
?>

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

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

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

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

tusaale ahaan 6 – Defina o redimensionamento de percentagem em vez de pixels | 50% do tamanho original

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

tusaale ahaan 7 – Permitir que as imagens sejam alargadas (Infladas) | Ajusta para 300 px

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

tusaale ahaan 8 – Define a qualidade da imagem, of 0 a 100 | 10% de qualidade em relação a original

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

tusaale ahaan 9 – Cria uma sombra na imagem | Define a cor do sombreamento

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

tusaale ahaan 10 – Recorta os cantos da imagem | Define a cor do de fundo (área cortada)

1
2
3
4
<?php
    $thumb -> Backgroundcolor = '#FFFFFF';
    $thumb -> Clipcorner = soo diyaariyeen(1,15,0,1,1,1,1);
?>

tusaale ahaan 11 – Simula a idade da imagem | Imagem com aparência antiga

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

tusaale ahaan 12 – Adiciona uma moldura na imagem | A moldura é ajustada à imagem

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

tusaale ahaan 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 = run;
    $thumb -> Binderspacing = 8;
?>

tusaale ahaan 14 – Gira a imagem de paisagem para retrato, no sentido horário | 90 graus

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

tusaale ahaan 15 – Inverte a imagem horizontalmente

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

tusaale ahaan 16 – Inverte a imagem verticalmente

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

tusaale ahaan 17 – Gira a imagem sem cortes

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

tusaale ahaan 18 – Gira e corta a imagem

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

tusaale ahaan 19 – Cria uma tela sempre quadrada | O pontilhado é só para destacar que a imagem ficou quadrada

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

tusaale ahaan 20 – Recorta a imagem

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

tusaale ahaan 21 – Cria uma marca d’água

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

tusaale ahaan 22 – Aplica um filtro pré-definido para a imagem (lento em PHP4)

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

tusaale ahaan 23 – Aplica um filtro personalizado para a imagem (lento no PHP4)

1
2
3
4
5
6
<?php
    $thumb -> Filter = soo diyaariyeen(-1,-1,-1,-1,8,-1,-1,-1,-1);
    $thumb -> Divisor = 1;
    $thumb -> Offset = 0;
    $thumb -> Applyfilter = run;
?>

tusaale ahaan 24 – Aplica uma perspectiva para a imagem | Esquerda para direita

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

tusaale ahaan 25 – Aplica uma perspectiva para a imagem | Direita para esquerdaThumb

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

tusaale ahaan 26 – Aplica um efeito de sombreamento interno

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

tusaale ahaan 27 – Aplica um efeito de espelho na imagem

1
2
3
4
5
<?php
    $thumb -> Mirror = soo diyaariyeen(1,10,90,40,2);
    $thumb -> Mirrorcolor = '#FFFFFF';
    $thumb -> Backgroundcolor = '#FFFFFF';
?>

tusaale ahaan 28 – Aplica um efeito de negativo

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

tusaale ahaan 29 – Troca uma cor na imagem | Troca a cor preta por azul

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

tusaale ahaan 30 – Reposiciona os pixels randomicamente | Efeito de distorção

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

tusaale ahaan 31 – Converte para escala de cinza

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

tusaale ahaan 32 – Altera o Brilho da imagem

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

tusaale ahaan 33 – Mescla uma cor

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

tusaale ahaan 34 – Torce uma imagem

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

tusaale ahaan 35 – Cria efeito de ondulação na imagem

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

tusaale ahaan 36 – Cria efeito de lago na imagem

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

tusaale ahaan 37 – Cria efeito de gota d’água na imagem

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

tusaale ahaan 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 = soo diyaariyeen(1,30,90,40,2);
    $thumb -> Mirrorcolor = '#D0DEEE';
?>
Total Furidda: 45469

55 dib u eegista “Criando imagem miniatura com PHP | Thumbnail com efeitos

  1. Ola 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. Galab wanaagsan Taylor,
    muito bom para manipular as imagens, só tem um detalhe que eu acabei encontrando, que ao setar o chmod da pasta, in line 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. helitaanka iyo sidoo kale:

    if ($this->Chmodlevel!=”) {chmod($this->Thumblocation.$this->Thumbprefix.basename($this->image),octdec($this->Chmodlevel));}

    No mais ta tudo tranquilo. Thanks, hab

    • Oi Elenilton.
      Essa classe PHP gera uma imagem com um dos efeitos acima descritos, a partir de outra imagem. in si kale loo dhigo, 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. haddii ay taasi ku, 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í… hadlay, 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?
        mahadsanid

      • 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 January 2012 in 9:42” sobre CRIANDO THUMBNAIL DE IMAGEM LOCALIZADA EM OUTRO SITE. Falouuu…

    • 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… Thanks!

    • Oi Geovani, socda, testei aqui e funciona perfeitamente todas as configurações do exemplo acima (redimensionamento, efeitos, salvar imagem em disco, iwm). 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. hadlay, T +.

  3. André Luiz ayaa sheegay in:

    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.

    mahadsanid!

    $sql =SELECT * from ultimoscloses WHERE ativo=’1ORDER BY id DESC LIMIT 3”;
    $resultado = mysql_query($SQL);
    halka($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. hadlay, 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 = cusub 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 = soo diyaariyeen('example1.jpg', 'example2.jpg', 'example3.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 "<img src='thumbnail_".$image."' /><br />";
          }
       
          /** (8) Destroi o objeto - libera memória */ 
          unset($thumb);  
      ?>
      • Cleidisson ayaa sheegay in:

        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 ayaa sheegay in:

        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, jidka, 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 ayaa sheegay in:

    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);
    halka($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’);?>

    mahadsanid!

  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 ayaa sheegay in:

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

    tusaale ahaan:

    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.

  7. 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?
    mahadsanid.

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

        Valeu mesmo. The “Jos Nutbroekestá de parabéns.
        E vc tambem por fazer a ponte entre a gente e essa classe que tenho certeza que ajudará muitos desenvolvedores.

      • Hello, 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

  8. Djalma ayaa sheegay in:

    Olá Taylor Lopes,
    parabéns pelo post é exatamente o que estava precisando.
    Aad ayaad u mahadsantahay.

    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 March 2011 in 14:02”, demonstrei como fazer loop com as imagens (diferentes), sendo, Sidaa darteed, 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 +

  9. Régis Adamavicius ayaa sheegay in:

    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 !

    kasbadeen

  10. Camilo ayaa sheegay in:

    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
    digniin: 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 ayaa sheegay in:

      Testei seu código aqui e funcionou normal. A única coisa que fiz, cad, 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, cad…

      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
      */  
      function 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 = cusub easyphpthumbnail;      
        foreach($image_effects as $effect => $qiimaha) {
          $thumb->$effect = $qiimaha;
        }  
        @$thumb->Createthumb( basename($image_output), 'file');
        if (copy("thumbnail_".basename($image_output), $image_output)) {
          unlink(basename($image_output));
          unlink("thumbnail_".basename($image_output));
          return run;
        } else {
          return been ah;
        }      
      }
       
      // A chamada ficaria, tusaale ahaan, sidaas darteed:
      $image_input   = 'http://taylorlopes.com/images/logo.gif';
      $image_output  = 'C:/wamp/www/suapasta/image.jpg';
      $image_effects = soo diyaariyeen('Shadow' => run,
                             'Thumbsize' => 300,
                             'Perspectivethumb' => soo diyaariyeen(1,1,25)
                            );                      
      getURLImageSetThumb($image_input, $image_output, $image_effects);
      ?>
    • Diego, acabei de fazer um teste aqui e funcionou certinho com jpg, loo dhan yahay, 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…

    • Hello, para arredondar a borda ou canto da imagem, você poderia usar um simples CSS de 1 única linha, sidaas darteed:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      
      <!html DOCTYPE>
      <html>
        <madaxa>
          <horyaalka>Imagem com canto arredondado</horyaalka>
          <style>
            .border-image{border-radius:7px;}
          </style>
        </madaxa>
        <jirka> 
           <img src="imgori.jpg" fasalka="border-image" />
        </jirka>
      </html>

      tusaale ahaan:

      Sem canto arredondado

      Com canto arredondado

  11. Mara ayaa sheegay in:

    Ola 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 September 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… hadlay!

  12. Paulo ayaa sheegay in:

    Subax wanaagsan 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/”.$image,’file’);
    [/code]

  13. Ola 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?

  14. não estou conseguindo usar

    ja tentei assim :

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

    sidaas darteed :

    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

Leave a Reply

cinwaanka email Your aan laga soo saari doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *