Création d'image miniature avec PHP | Miniature à effet de serre

Programmation PHP: Générer des images miniatures (Vignette) ou redimensionner les images à une certaine norme, pratique et de fantastiques fonctionnalités telles que les châssis, bord, texte et beaucoup d'autres effets.

Icône

easyphpthumbnail-20121216.zip
18.87 KO 5845 téléchargements

Auteur: Jos Nutbroek (JN)
Pays: Holanda
Site: PHP Classes

À propos de

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) ci-dessous, 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) Importe la classe: easyphpthumbnail.class.php */
    include_once('easyphpthumbnail.class.php');
 
    /** (2) Instancia um objeto da classe: $pouce */
     $pouce = Nouveau easyphpthumbnail;
 
    /** (3) Aplica o código fonte com o EFEITO desejado */
    $pouce -> Thumbsize = 300;
 
    /** (4) Cria um thumbnail e a saída na tela ou arquivo */
    $pouce -> Createthumb('image.jpg');
?>

Remarque
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 (l) e grava em arquivo
    $pouce -> 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

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

1
2
3
<?PHP
     $pouce -> Thumbsize = 90; 
?>

Exemple de 2 – Adiciona um quadro ao redor da imagem | 10 px de largura e na cor vermelha

1
2
3
4
<?PHP
     $pouce -> Framewidth = 10;
     $pouce -> Framecolor = '#FF0000';
?>

Exemple de 3 – Adiciona um texto (copyright) na imagem | Define texto, posição, type de, tamanho e cor da fonte

1
2
3
4
5
6
7
<?PHP
    $pouce -> Copyrighttext = 'taylorlopes.com';
    $pouce -> Copyrightposition = '50% 90%';
    $pouce -> Copyrightfonttype = 'MAIAN.TTF';
    $pouce -> Copyrightfontsize = 14;
    $pouce -> Copyrighttextcolor = '#FFFFFF';
?>

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

1
2
3
<?PHP
    $pouce -> Thumbheight = 50;
?>

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

1
2
3
<?PHP
    $pouce -> Thumbwidth = 100;
?>

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

1
2
3
4
<?PHP
    $pouce -> Thumbsize = 50;
    $pouce -> Percentage = true;
?>

Exemple de 7 – Permitir que as imagens sejam alargadas (Infladas) | Ajusta para 300 PX

1
2
3
4
<?PHP
    $pouce -> Thumbsize = 300;
    $pouce -> Inflate = true;
?>

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

1
2
3
<?PHP
    $pouce -> Quality = 10;
?>

Exemple de 9 – Cria uma sombra na imagem | Define a cor do sombreamento

1
2
3
4
<?PHP
    $pouce -> Backgroundcolor = '#D0DEEE';
    $pouce -> Shadow = true;
?>

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

1
2
3
4
<?PHP
    $pouce -> Backgroundcolor = '#FFFFFF';
    $pouce -> Clipcorner = Tableau(1,15,0,1,1,1,1);
?>

Exemple de 11 – Simula a idade da imagem | Imagem com aparência antiga

1
2
3
<?PHP
    $pouce -> Ageimage = Tableau(1,10,80);
?>

Exemple de 12 – Adiciona uma moldura na imagem | A moldura é ajustada à imagem

1
2
3
<?PHP
    $pouce -> Borderpng = 'border.png';
?>

Exemple de 13 – Simula um fichário (aspiral) adicionado à imagem | Define borda e cor do quadro

1
2
3
4
5
6
<?PHP
    $pouce -> Framewidth = 10;
    $pouce -> Framecolor = '#000000';
    $pouce -> Binder = true;
    $pouce -> Binderspacing = 8;
?>

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

1
2
3
<?PHP
    $pouce -> Rotate = 90;
?>

Exemple de 15 – Inverte a imagem horizontalmente

1
2
3
<?PHP
    $pouce -> Fliphorizontal = true;
?>

Exemple de 16 – Inverte a imagem verticalmente

1
2
3
<?PHP
    $pouce -> Flipvertical = true;
?>

Exemple de 17 – Gira a imagem sem cortes

1
2
3
<?PHP
    $pouce -> Rotate = -30;
?>

Exemple de 18 – Gira e corta a imagem

1
2
3
4
5
<?PHP
    $pouce -> Rotate = -30;
    $pouce -> Croprotate = true;
    $pouce -> Backgroundcolor = '#FFFFFF';
?>

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

1
2
3
<?PHP
    $pouce -> Square = true;
?>

Exemple de 20 – Recorta a imagem

1
2
3
<?PHP
    $pouce -> Cropimage = Tableau(2,0,20,20,35,35);
?>

Exemple de 21 – Cria uma marca d’água

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

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

1
2
3
4
5
6
7
<?PHP
    $pouce -> Edge = true;
    $pouce -> Emboss = true;
    $pouce -> Sharpen = true;
    $pouce -> Blur = true;
    $pouce -> Mean = true;
?>

Exemple de 23 – Aplica um filtro personalizado para a imagem (lento no PHP4)

1
2
3
4
5
6
<?PHP
    $pouce -> Filter = Tableau(-1,-1,-1,-1,8,-1,-1,-1,-1);
    $pouce -> Divisor = 1;
    $pouce -> Offset = 0;
    $pouce -> Applyfilter = true;
?>

Exemple de 24 – Aplica uma perspectiva para a imagem | Esquerda para direita

1
2
3
4
<?PHP
    $pouce -> Perspective = Tableau(1,0,20);
    $pouce -> Backgroundcolor = '#FFFFFF';
?>

Exemple de 25 – Aplica uma perspectiva para a imagem | Direita para esquerdaThumb

1
2
3
4
<?PHP
    $pouce -> Perspectivethumb = Tableau(1,1,25);
    $pouce -> Backgroundcolor = '#FFFFFF';
?>

Exemple de 26 – Aplica um efeito de sombreamento interno

1
2
3
4
<?PHP
    $pouce -> Shading = Tableau(1,70,80,0);
    $pouce -> Shadingcolor = '#D0DEEE';
?>

Exemple de 27 – Aplica um efeito de espelho na imagem

1
2
3
4
5
<?PHP
    $pouce -> Mirror = Tableau(1,10,90,40,2);
    $pouce -> Mirrorcolor = '#FFFFFF';
    $pouce -> Backgroundcolor = '#FFFFFF';
?>

Exemple de 28 – Aplica um efeito de negativo

1
2
3
<?PHP
    $pouce -> Negative = true;
?>

Exemple de 29 – Troca uma cor na imagem | Troca a cor preta por azul

1
2
3
<?PHP
    $pouce -> Colorreplace = Tableau(1,'#000000',« #0000FF »,60);
?>

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

1
2
3
<?PHP
    $pouce -> Pixelscramble = Tableau(1,4,2);
?>

Exemple de 31 – Converte para escala de cinza

1
2
3
<?PHP
     $pouce -> Greyscale = true;
?>

Exemple de 32 – Altera o Brilho da imagem

1
2
3
<?PHP
     $pouce -> Brightness = Tableau(1,50);
?>

Exemple de 33 – Mescla uma cor

1
2
3
<?PHP
     $pouce -> Colorize = Tableau(1,0,0,125,0);
?>

Exemple de 34 – Torce uma imagem

1
2
3
<?PHP
     $pouce -> Twirlfx = Tableau(1,20,0);
?>

Exemple de 35 – Cria efeito de ondulação na imagem

1
2
3
<?PHP
     $pouce -> Ripplefx = Tableau(1,5,15,5,5);
?>

Exemple de 36 – Cria efeito de lago na imagem

1
2
3
<?PHP
     $pouce -> Lakefx = Tableau(1,15,80);
?>

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

1
2
3
<?PHP
     $pouce -> Waterdropfx = Tableau(1,1.2,400,40);
?>

Exemple de 38 – Combinando alguns efeitos

1
2
3
4
5
6
7
8
9
10
11
12
<?PHP
    $pouce -> Thumbsize = 300;
    $pouce -> Copyrighttext = 'taylorlopes.com';
    $pouce -> Copyrightposition = '50% 80%';
    $pouce -> Copyrightfonttype = 'MAIAN.TTF';
    $pouce -> Copyrightfontsize = 20;
    $pouce -> Copyrighttextcolor = '#FFFFFF';
    $pouce -> Borderpng = 'border.png';
    $pouce -> Backgroundcolor = '#D0DEEE';
    $pouce -> Mirror = Tableau(1,30,90,40,2);
    $pouce -> Mirrorcolor = '#D0DEEE';
?>
Totales hits: 45465

55 Commentaires sur “Création d'image miniature avec PHP | Miniature à effet de serre

  1. Bonjour 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. Bonjour Taylor,
    muito bom para manipular as imagens, só tem um detalhe que eu acabei encontrando, que ao setar o chmod da pasta, En ligne 1843 da sua classe:

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

    falta um basename antes do atributo $this->image, pois senao ele n encontrar o caminho correto da sua pasta. Ainsi:

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

    No mais ta tudo tranquilo. Merci, Câlins

    • Oi Elenilton.
      Essa classe PHP gera uma imagem com um dos efeitos acima descritos, a partir de outra imagem. IE, ela pega uma imagem já existente e cria outra, que inclusive pode ser um thumbnail (miniatura)! Ce que je comprends, você quer tirar um printscreen ou screenhost. Dans ce cas, 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! D'ailleurs, tem muitos outros por aí… Spoke, 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?
        Merci

      • Uma coisa é capturar a tela de um site (screenhost); outra é recuperar uma imagem… en tout cas, veja abaixo o comentário que fiz aqui em “5 Janvier 2012 à 9:42” sur CRIANDO THUMBNAIL DE IMAGEM LOCALIZADA EM OUTRO SITE. Falouuu…

    • Oi Geovani, suivant, testei aqui e funciona perfeitamente todas as configurações do exemplo acima (redimensionamento, effets, 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. Juste pour mémoire, estou usando PHP Version 5.3.0. Spoke, T +.

  3. André Luiz a dit:

    Taylor, o script é mto bom. Era justamente isso que eu estava procurando, mais j’ai un doute.
    E se eu quiser colocar dentro de um looping? Como funcionaria? Eu tentei abaixo e não funcionou. Provavelmente errei alguma coisa.

    Merci!

    $sql =SELECT * from ultimoscloses WHERE ativo=’1ORDER BY id DESC LIMIT 3”;
    $resultado = mysql_query($SQL);
    Certain temps($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. Spoke, 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) Importe la classe: easyphpthumbnail.class.php */
          include_once('easyphpthumbnail.class.php');
       
          /** (2) Instancia um objeto da classe: $pouce */
           $pouce = Nouveau easyphpthumbnail;
       
          /** (3) Aplica o código fonte com o EFEITO desejado */
          $pouce -> Thumbsize = 100;
       
          /** (4) Array de imagens - PODE SER ENTRADA VINDA DO BANCO DE DADOS */
          $images = Tableau('example1.jpg', 'example2.jpg', 'example3.jpg');
       
          /** (5) Faz o loop para criar as imagens e exibí-las */
          foreach ($images comme $image) {
       
            /** (6) Cria o thumbnail e salva em disco local */ 
            $pouce -> Createthumb($image, 'file');
       
            /** (7) Exibe o thumbnail salvo */      
            ECHO "<img src='thumbnail_".$image."' /><BR />";
          }
       
          /** (8) Destroi o objeto - libera memória */ 
          unset($pouce);  
      ?>
      • Cleidisson a dit:

        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 a dit:

        cara copiei e colei o teu exemplo mas não funcionou pode me ajudar??

        //teste para ver se foto realmento existe
        ECHO ”;

        /** (1) Importe la classe: easyphpthumbnail.class.php */
        include_once(‘easyphpthumbnail.class.php’);

        /** (2) Instancia um objeto da classe: $pouce */
        $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($pouce);

      • Oi Vagner, Guy, o código funciona, testei várias vezes. Que chave “}” perdida ali depois da linha 7? Quelque chose d’autre, 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 a dit:

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

    Merci!

  5. Muito boa a classe.
    Uso a muito tempo (cerca de 2 années) 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 a dit:

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

    Exemple de:

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

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

        Merci beaucoup. Le “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.

      • Salut, 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 a dit:

    Olá Taylor Lopes,
    parabéns pelo post é exatamente o que estava precisando.
    Merci beaucoup.

    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.

    Observe,
    Djalma Bento

    • Salut, você precisa tentar encontrar a causa do erro relatado. Veja que no comentário acima, dans “18 Mars 2011 à 14:02”, demonstrei como fazer loop com as imagens (diferentes), sendo, afin, 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 (au-dessus de) 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 a dit:

    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 !

    Merci

  10. Camilo a dit:

    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
    Mise en garde: 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) Importe la classe: easyphpthumbnail.class.php */
    include_once(‘easyphpthumbnail.class.php’);

    /** (2) Instancia um objeto da classe: $pouce */
    $thumb = new easyphpthumbnail;

    /** (3) Aplica o código fonte com o EFEITO desejado */
    $thumb -> Thumbsize = 100;

    // Cria a imagem miniatura (l) e grava em arquivo
    $thumb -> Createthumb(‘$img’, ‘file’);

    ECHO “”;

    • Taylor Lee a dit:

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

      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 (Langue source)
       * @param  $image_output  Caminho absoluto para onde será salvo o Thumb 
       * @param  $image_effects array de efeitos
       * @return boolean
       * @dependence class easyphpthumbnail.class.php
      */  
      fonction 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'); 
        $pouce = Nouveau easyphpthumbnail;      
        foreach($image_effects comme $effect => $valeur) {
          $pouce->$effect = $valeur;
        }  
        @$pouce->Createthumb( basename($image_output), 'file');
        If (copy("thumbnail_".basename($image_output), $image_output)) {
          unlink(basename($image_output));
          unlink("thumbnail_".basename($image_output));
          retour true;
        } d’autre {
          retour faux;
        }      
      }
       
      // A chamada ficaria, par exemple, Comme ça:
      $image_input   = « http://taylorlopes.com/images/logo.gif';
      $image_output  = ' C:/wamp/www/suapasta/image.jpg';
      $image_effects = Tableau('Shadow' => true,
                             'Thumbsize' => 300,
                             'Perspectivethumb' => Tableau(1,1,25)
                            );                      
      getURLImageSetThumb($image_input, $image_output, $image_effects);
      ?>
    • Diego, acabei de fazer um teste aqui e funcionou certinho com jpg, y compris, 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…

  11. Luciano a dit:

    Ei, como faço para salvar o thumb dentro de uma pasta? Pq sempre está salvando no diretório raíz – Aide-moi, S’il vous plaît…

    • Salut, para arredondar a borda ou canto da imagem, você poderia usar um simples CSS de 1 única linha, Comme ça:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      
      <!DOCTYPE html>
      <HTML>
        <tête>
          <titre>Imagem com canto arredondado</titre>
          <style>
            .frontière-image{frontière-radius:7PX;}
          </style>
        </tête>
        <corps> 
           <img src="imgori.jpg" Classe="border-image" />
        </corps>
      </HTML>

      Exemple de:

      Sem canto arredondado

      Com canto arredondado

  12. Mara a dit:

    Bonjour 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!!

    • Salut, dê uma olhada no comentário do dia “24 Septembre 2012 à 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… a dit!

  13. Paul a dit:

    Bonjour 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]

  14. Bonjour 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?

  15. não estou conseguindo usar

    ja tentei assim :

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

    Comme ça :

    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

Laisser une réponse

Votre adresse email ne sera pas publié. Les champs obligatoires sont marqués avec *