Criando imagem miniatura com PHP | Thumbnail com efeitos

барномасозии 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

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

ба

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

мушоҳида
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

мисол 1 – Redimensionamento automático da imagem | A imagem é ajustada para o tamanho 90 pixels

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

мисол 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';
?>

мисол 3 – Adiciona um texto (copyright) na imagem | Define texto, posição, навъи, 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';
?>

мисол 4 – Define a altura da imagem | Mantém as proporções: 50px de altura

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

мисол 5 – Define a largura da imagem | Mantém as proporções: 100px de largura

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

мисол 6 – Defina o redimensionamento de percentagem em vez de pixels | 50% do tamanho original

1
2
3
4
<?PHP
    $thumb -> Thumbsize = 50;
    $thumb -> Percentage = ҳақиқӣ;
?>

мисол 7 – Permitir que as imagens sejam alargadas (Infladas) | Ajusta para 300 px

1
2
3
4
<?PHP
    $thumb -> Thumbsize = 300;
    $thumb -> Inflate = ҳақиқӣ;
?>

мисол 8 – Define a qualidade da imagem, аз 0 a 100 | 10% de qualidade em relação a original

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

мисол 9 – Cria uma sombra na imagem | Define a cor do sombreamento

1
2
3
4
<?PHP
    $thumb -> Backgroundcolor = '#D0DEEE';
    $thumb -> Shadow = ҳақиқӣ;
?>

мисол 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);
?>

мисол 11 – Simula a idade da imagem | Imagem com aparência antiga

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

мисол 12 – Adiciona uma moldura na imagem | A moldura é ajustada à imagem

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

мисол 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 = ҳақиқӣ;
    $thumb -> Binderspacing = 8;
?>

мисол 14 – Gira a imagem de paisagem para retrato, no sentido horário | 90 graus

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

мисол 15 – Inverte a imagem horizontalmente

1
2
3
<?PHP
    $thumb -> Fliphorizontal = ҳақиқӣ;
?>

мисол 16 – Inverte a imagem verticalmente

1
2
3
<?PHP
    $thumb -> Flipvertical = ҳақиқӣ;
?>

мисол 17 – Gira a imagem sem cortes

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

мисол 18 – Gira e corta a imagem

1
2
3
4
5
<?PHP
    $thumb -> Rotate = -30;
    $thumb -> Croprotate = ҳақиқӣ;
    $thumb -> Backgroundcolor = '#FFFFFF';
?>

мисол 19 – Cria uma tela sempre quadrada | O pontilhado é só para destacar que a imagem ficou quadrada

1
2
3
<?PHP
    $thumb -> Square = ҳақиқӣ;
?>

мисол 20 – Recorta a imagem

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

мисол 21 – Cria uma marca d’água

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

мисол 22 – Aplica um filtro pré-definido para a imagem (lento em PHP4)

1
2
3
4
5
6
7
<?PHP
    $thumb -> Edge = ҳақиқӣ;
    $thumb -> Emboss = ҳақиқӣ;
    $thumb -> Sharpen = ҳақиқӣ;
    $thumb -> Blur = ҳақиқӣ;
    $thumb -> Mean = ҳақиқӣ;
?>

мисол 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 = ҳақиқӣ;
?>

мисол 24 – Aplica uma perspectiva para a imagem | Esquerda para direita

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

мисол 25 – Aplica uma perspectiva para a imagem | Direita para esquerdaThumb

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

мисол 26 – Aplica um efeito de sombreamento interno

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

мисол 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';
?>

мисол 28 – Aplica um efeito de negativo

1
2
3
<?PHP
    $thumb -> Negative = ҳақиқӣ;
?>

мисол 29 – Troca uma cor na imagem | Troca a cor preta por azul

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

мисол 30 – Reposiciona os pixels randomicamente | Efeito de distorção

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

мисол 31 – Converte para escala de cinza

1
2
3
<?PHP
     $thumb -> Greyscale = ҳақиқӣ;
?>

мисол 32 – Altera o Brilho da imagem

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

мисол 33 – Mescla uma cor

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

мисол 34 – Torce uma imagem

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

мисол 35 – Cria efeito de ondulação na imagem

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

мисол 36 – Cria efeito de lago na imagem

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

мисол 37 – Cria efeito de gota d’água na imagem

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

мисол 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';
?>
Њамагї дастёбии: 45469

55 боздидҳои “Criando imagem miniatura com PHP | Thumbnail com efeitos

  1. Салом 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:

    агар ($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:

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

    No mais ta tudo tranquilo. Valeu, оғӯш

    • Oi Elenilton.
      Essa classe PHP gera uma imagem com um dos efeitos acima descritos, a partir de outra imagem. ба ибораи дигар, 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. дар ин маврид, 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! илова бар ин, tem muitos outros por aí… сухан, 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?
        ташаккур ба шумо

      • 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 январ 2012 ба 9:42” ба 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, ва ғайра). 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. сухан, T+.

  3. André Luiz гуфт::

    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.

    ташаккур ба шумо!

    $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. сухан, 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 = 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('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 */      
            акси садо "<img src='thumbnail_".$image."' /><<br> Википедиа />";
          }
       
          /** (8) Destroi o objeto - libera memória */ 
          unset($thumb);  
      ?>
      • Cleidisson гуфт::

        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 гуфт::

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

        //teste para ver se foto realmento existe
        акси садо ”;

        /** (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 */
        акси садо “”;
        }

        /** (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 гуфт::

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

    ташаккур ба шумо!

  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 гуфт::

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

    мисол:

    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?
    ташаккур ба шумо.

    • 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. Дар “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.

      • салом, 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 гуфт::

    Olá Taylor Lopes,
    parabéns pelo post é exatamente o que estava precisando.
    ташаккури зиёд.

    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, дар “18 март 2011 ба 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 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 гуфт::

    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 !

    даст

  10. Camilo гуфт::

    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’);

    акси садо “”;

    • Taylor Lopes гуфт::

      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 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, claro

      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
      */  
      функсия 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 = new easyphpthumbnail;      
        foreach($image_effects as $effect => $арзиши) {
          $thumb->$effect = $арзиши;
        }  
        @$thumb->Createthumb( basename($image_output), 'file');
        агар (copy("thumbnail_".basename($image_output), $image_output)) {
          unlink(basename($image_output));
          unlink("thumbnail_".basename($image_output));
          return ҳақиқӣ;
        } else {
          return false;
        }      
      }
       
      // A chamada ficaria, барои намуна, ҳамин тавр:
      $image_input   = 'http://taylorlopes.com/images/logo.gif';
      $image_output  = 'C:/wamp/www/suapasta/image.jpg';
      $image_effects = array('Shadow' => ҳақиқӣ,
                             '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, фарогир, 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 гуфт::

    Ei, como faço para salvar o thumb dentro de uma pasta? Pq sempre está salvando no diretório raízMe ajude, марҳамат…

    • салом, para arredondar a borda ou canto da imagem, você poderia usar um simples CSS de 1 única linha, ҳамин тавр:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      
      <!HTML DOCTYPE>
      <HTML>
        <сар>
          <ном>Imagem com canto arredondado</ном>
          <услуб>
            .border-image{border-radius:7px;}
          </услуб>
        </сар>
        <бадан> 
           <SRC IMG="imgori.jpg" синфи="border-image" />
        </бадан>
      </HTML>

      мисол:

      Sem canto arredondado

      Com canto arredondado

  12. Mara гуфт::

    Салом 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 сентябр 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… сухан!

  13. Paulo гуфт::

    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/”.$Садо,’file’);
    [/code]

  14. Салом 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’);

    ҳамин тавр :

    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

Дин ва мазҳаб

Суроғаи почтаи электронии шумо нест, нашр карда. Майдонҳои талаб карда мешавад, бо ишора *