Criando imagem miniatura com PHP | Thumbnail com efeitos

Lập trình 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.

Biểu tượng

easyphpthumbnail-20121216.zip
18.87 KB 5849 tải hàng tuần

Tác giả: Jos Nutbroek (JN)
Quốc gia: Holanda
Trang web: Các lớp học PHP

Về

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) dưới đây, 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: $ngón tay cái */
     $ngón tay cái = mới easyphpthumbnail;
 
    /** (3) Aplica o código fonte com o EFEITO desejado */
    $ngón tay cái -> Thumbsize = 300;
 
    /** (4) Cria um thumbnail e a saída na tela ou arquivo */
    $ngón tay cái -> Createthumb('image.jpg');
?>

Lưu ý
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
    $ngón tay cái -> 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 điểm ảnh | Sobre esta imagem serão aplicados efeitos

imgori

Ví dụ 1 – Redimensionamento automático da imagem | A imagem é ajustada para o tamanho 90 điểm ảnh

1
2
3
<?php
     $ngón tay cái -> Thumbsize = 90; 
?>

Ví dụ 2 – Adiciona um quadro ao redor da imagem | 10 px de largura e na cor vermelha

1
2
3
4
<?php
     $ngón tay cái -> Framewidth = 10;
     $ngón tay cái -> Framecolor = '#FF0000';
?>

Ví dụ 3 – Adiciona um texto (copyright) na imagem | Define texto, posição, loại hình, tamanho e cor da fonte

1
2
3
4
5
6
7
<?php
    $ngón tay cái -> Copyrighttext = 'taylorlopes.com';
    $ngón tay cái -> Copyrightposition = '50% 90%';
    $ngón tay cái -> Copyrightfonttype = 'MAIAN.TTF';
    $ngón tay cái -> Copyrightfontsize = 14;
    $ngón tay cái -> Copyrighttextcolor = '#FFFFFF';
?>

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

1
2
3
<?php
    $ngón tay cái -> Thumbheight = 50;
?>

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

1
2
3
<?php
    $ngón tay cái -> Thumbwidth = 100;
?>

Ví dụ 6 – Defina o redimensionamento de percentagem em vez de pixels | 50% do tamanho original

1
2
3
4
<?php
    $ngón tay cái -> Thumbsize = 50;
    $ngón tay cái -> Percentage = sự thật;
?>

Ví dụ 7 – Permitir que as imagens sejam alargadas (Infladas) | Ajusta para 300 px

1
2
3
4
<?php
    $ngón tay cái -> Thumbsize = 300;
    $ngón tay cái -> Inflate = sự thật;
?>

Ví dụ 8 – Define a qualidade da imagem, của 0 một 100 | 10% de qualidade em relação a original

1
2
3
<?php
    $ngón tay cái -> Quality = 10;
?>

Ví dụ 9 – Cria uma sombra na imagem | Define a cor do sombreamento

1
2
3
4
<?php
    $ngón tay cái -> Backgroundcolor = '#D0DEEE';
    $ngón tay cái -> Shadow = sự thật;
?>

Ví dụ 10 – Recorta os cantos da imagem | Define a cor do de fundo (área cortada)

1
2
3
4
<?php
    $ngón tay cái -> Backgroundcolor = '#FFFFFF';
    $ngón tay cái -> Clipcorner = array(1,15,0,1,1,1,1);
?>

Ví dụ 11 – Simula a idade da imagem | Imagem com aparência antiga

1
2
3
<?php
    $ngón tay cái -> Ageimage = array(1,10,80);
?>

Ví dụ 12 – Adiciona uma moldura na imagem | A moldura é ajustada à imagem

1
2
3
<?php
    $ngón tay cái -> Borderpng = 'border.png';
?>

Ví dụ 13 – Simula um fichário (aspiral) adicionado à imagem | Define borda e cor do quadro

1
2
3
4
5
6
<?php
    $ngón tay cái -> Framewidth = 10;
    $ngón tay cái -> Framecolor = '#000000';
    $ngón tay cái -> Binder = sự thật;
    $ngón tay cái -> Binderspacing = 8;
?>

Ví dụ 14 – Gira a imagem de paisagem para retrato, no sentido horário | 90 graus

1
2
3
<?php
    $ngón tay cái -> Rotate = 90;
?>

Ví dụ 15 – Inverte a imagem horizontalmente

1
2
3
<?php
    $ngón tay cái -> Fliphorizontal = sự thật;
?>

Ví dụ 16 – Inverte a imagem verticalmente

1
2
3
<?php
    $ngón tay cái -> Flipvertical = sự thật;
?>

Ví dụ 17 – Gira a imagem sem cortes

1
2
3
<?php
    $ngón tay cái -> Rotate = -30;
?>

Ví dụ 18 – Gira e corta a imagem

1
2
3
4
5
<?php
    $ngón tay cái -> Rotate = -30;
    $ngón tay cái -> Croprotate = sự thật;
    $ngón tay cái -> Backgroundcolor = '#FFFFFF';
?>

Ví dụ 19 – Cria uma tela sempre quadrada | O pontilhado é só para destacar que a imagem ficou quadrada

1
2
3
<?php
    $ngón tay cái -> Square = sự thật;
?>

Ví dụ 20 – Recorta a imagem

1
2
3
<?php
    $ngón tay cái -> Cropimage = array(2,0,20,20,35,35);
?>

Ví dụ 21 – Cria uma marca d’água

1
2
3
4
5
<?php
    $ngón tay cái -> Watermarkpng = 'watermark.png';
    $ngón tay cái -> Watermarkposition = '50% 50%';
    $ngón tay cái -> Watermarktransparency = 40;
?>

Ví dụ 22 – Aplica um filtro pré-definido para a imagem (lento em PHP4)

1
2
3
4
5
6
7
<?php
    $ngón tay cái -> Edge = sự thật;
    $ngón tay cái -> Emboss = sự thật;
    $ngón tay cái -> Sharpen = sự thật;
    $ngón tay cái -> Blur = sự thật;
    $ngón tay cái -> Mean = sự thật;
?>

Ví dụ 23 – Aplica um filtro personalizado para a imagem (lento no PHP4)

1
2
3
4
5
6
<?php
    $ngón tay cái -> Filter = array(-1,-1,-1,-1,8,-1,-1,-1,-1);
    $ngón tay cái -> Divisor = 1;
    $ngón tay cái -> Offset = 0;
    $ngón tay cái -> Applyfilter = sự thật;
?>

Ví dụ 24 – Aplica uma perspectiva para a imagem | Esquerda para direita

1
2
3
4
<?php
    $ngón tay cái -> Perspective = array(1,0,20);
    $ngón tay cái -> Backgroundcolor = '#FFFFFF';
?>

Ví dụ 25 – Aplica uma perspectiva para a imagem | Direita para esquerdaThumb

1
2
3
4
<?php
    $ngón tay cái -> Perspectivethumb = array(1,1,25);
    $ngón tay cái -> Backgroundcolor = '#FFFFFF';
?>

Ví dụ 26 – Aplica um efeito de sombreamento interno

1
2
3
4
<?php
    $ngón tay cái -> Shading = array(1,70,80,0);
    $ngón tay cái -> Shadingcolor = '#D0DEEE';
?>

Ví dụ 27 – Aplica um efeito de espelho na imagem

1
2
3
4
5
<?php
    $ngón tay cái -> Mirror = array(1,10,90,40,2);
    $ngón tay cái -> Mirrorcolor = '#FFFFFF';
    $ngón tay cái -> Backgroundcolor = '#FFFFFF';
?>

Ví dụ 28 – Aplica um efeito de negativo

1
2
3
<?php
    $ngón tay cái -> Negative = sự thật;
?>

Ví dụ 29 – Troca uma cor na imagem | Troca a cor preta por azul

1
2
3
<?php
    $ngón tay cái -> Colorreplace = array(1,'#000000','#0000FF',60);
?>

Ví dụ 30 – Reposiciona os pixels randomicamente | Efeito de distorção

1
2
3
<?php
    $ngón tay cái -> Pixelscramble = array(1,4,2);
?>

Ví dụ 31 – Converte para escala de cinza

1
2
3
<?php
     $ngón tay cái -> Greyscale = sự thật;
?>

Ví dụ 32 – Altera o Brilho da imagem

1
2
3
<?php
     $ngón tay cái -> Brightness = array(1,50);
?>

Ví dụ 33 – Mescla uma cor

1
2
3
<?php
     $ngón tay cái -> Colorize = array(1,0,0,125,0);
?>

Ví dụ 34 – Torce uma imagem

1
2
3
<?php
     $ngón tay cái -> Twirlfx = array(1,20,0);
?>

Ví dụ 35 – Cria efeito de ondulação na imagem

1
2
3
<?php
     $ngón tay cái -> Ripplefx = array(1,5,15,5,5);
?>

Ví dụ 36 – Cria efeito de lago na imagem

1
2
3
<?php
     $ngón tay cái -> Lakefx = array(1,15,80);
?>

Ví dụ 37 – Cria efeito de gota d’água na imagem

1
2
3
<?php
     $ngón tay cái -> Waterdropfx = array(1,1.2,400,40);
?>

Ví dụ 38 – Combinando alguns efeitos

1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $ngón tay cái -> Thumbsize = 300;
    $ngón tay cái -> Copyrighttext = 'taylorlopes.com';
    $ngón tay cái -> Copyrightposition = '50% 80%';
    $ngón tay cái -> Copyrightfonttype = 'MAIAN.TTF';
    $ngón tay cái -> Copyrightfontsize = 20;
    $ngón tay cái -> Copyrighttextcolor = '#FFFFFF';
    $ngón tay cái -> Borderpng = 'border.png';
    $ngón tay cái -> Backgroundcolor = '#D0DEEE';
    $ngón tay cái -> Mirror = array(1,30,90,40,2);
    $ngón tay cái -> Mirrorcolor = '#D0DEEE';
?>
Tổng lượt truy cập: 45469

55 Bình luận trên “Criando imagem miniatura com PHP | Thumbnail com efeitos

  1. Xin chào 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. Xin chào 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. Cảm ơn, Những cái ôm

    • Oi Elenilton.
      Essa classe PHP gera uma imagem com um dos efeitos acima descritos, a partir de outra imagem. TRÌNH DUYỆT IE, 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. Trong trường hợp này, 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! Nhân tiện, tem muitos outros por aí… Cho biết, 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?
        Cảm ơn bạn

      • Uma coisa é capturar a tela de um site (screenhost); outra é recuperar uma imagem… trong bất kỳ trường hợp nào, veja abaixo o comentário que fiz aqui em “5 Tháng một 2012 tại 9:42” sobre CRIANDO THUMBNAIL DE IMAGEM LOCALIZADA EM OUTRO SITE. Falouuu…

    • Oi Geovani, sau đây, testei aqui e funciona perfeitamente todas as configurações do exemplo acima (redimensionamento, efeitos, salvar imagem em disco, vv). 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. Cho biết, T +.

  3. André Luiz cho biết:

    Taylor, o script é mto bom. Era justamente isso que eu estava procurando, nhưng tôi có một nghi ngờ.
    E se eu quiser colocar dentro de um looping? Como funcionaria? Eu tentei abaixo e não funcionou. Provavelmente errei alguma coisa.

    Cảm ơn bạn!

    $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. Cho biết, 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: $ngón tay cái */
           $ngón tay cái = mới easyphpthumbnail;
       
          /** (3) Aplica o código fonte com o EFEITO desejado */
          $ngón tay cái -> 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 như $image) {
       
            /** (6) Cria o thumbnail e salva em disco local */ 
            $ngón tay cái -> Createthumb($image, 'file');
       
            /** (7) Exibe o thumbnail salvo */      
            ECHO "<img src='thumbnail_".$image."' /><BR />";
          }
       
          /** (8) Destroi o objeto - libera memória */ 
          unset($ngón tay cái);  
      ?>
      • Cleidisson cho biết:

        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 cho biết:

        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: $ngón tay cái */
        $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($ngón tay cái);

      • Oi Vagner, Guy, o código funciona, testei várias vezes. Que chave “}” perdida ali depois da linha 7? Cái gì khác, 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 cho biết:

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

    Cảm ơn bạn!

  5. Marcelo cho biết:

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

    Ví dụ:

    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.

        Cảm ơn nhiều. Các “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.

      • Xin chào, 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

  6. Djalma cho biết:

    Olá Taylor Lopes,
    parabéns pelo post é exatamente o que estava precisando.
    Cảm ơn rất nhiều.

    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

    • Chào bạn, você precisa tentar encontrar a causa do erro relatado. Veja que no comentário acima, em “18 Tháng ba 2011 tại 14:02”, demonstrei como fazer loop com as imagens (diferentes), sendo, do đó,, 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 +

  7. Régis Adamavicius cho biết:

    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 !

    Cảm ơn

  8. Camilo cho biết:

    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: $ngón tay cái */
    $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 cho biết:

      Testei seu código aqui e funcionou normal. A única coisa que fiz, Tất nhiên, 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, Tất nhiên…

      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 (Ban đầu)
       * @param  $image_output  Caminho absoluto para onde será salvo o Thumb 
       * @param  $image_effects array de efeitos
       * @return boolean
       * @dependence class easyphpthumbnail.class.php
      */  
      chức năng 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'); 
        $ngón tay cái = mới easyphpthumbnail;      
        foreach($image_effects như $effect => $giá trị) {
          $ngón tay cái->$effect = $giá trị;
        }  
        @$ngón tay cái->Createthumb( basename($image_output), 'file');
        if (copy("thumbnail_".basename($image_output), $image_output)) {
          unlink(basename($image_output));
          unlink("thumbnail_".basename($image_output));
          return sự thật;
        } else {
          return false;
        }      
      }
       
      // A chamada ficaria, Ví dụ:, Thích cái này:
      $image_input   = ' http://taylorlopes.com/images/logo.gif';
      $image_output  = 'C:/wamp/www/suapasta/image.jpg';
      $image_effects = array('Shadow' => sự thật,
                             '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, bao gồm, 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…

    • Xin chào, para arredondar a borda ou canto da imagem, você poderia usar um simples CSS de 1 única linha, Thích cái này:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      
      <!DOCTYPE html>
      <HTML>
        <đầu>
          <tiêu đề>Imagem com canto arredondado</tiêu đề>
          <phong cách>
            .biên giới-image{biên giới-radius:7px;}
          </phong cách>
        </đầu>
        <cơ thể> 
           <IMG src="imgori.jpg" lớp học="border-image" />
        </cơ thể>
      </HTML>

      Ví dụ:

      Sem canto arredondado

      Com canto arredondado

  9. Mara cho biết:

    Xin chào 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!!

    • Chào bạn, dê uma olhada no comentário do dia “24 Tháng chín 2012 tại 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… cho biết!

  10. Paulo cho biết:

    Chào buổi sáng 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]

  11. Xin chào 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?

  12. não estou conseguindo usar

    ja tentei assim :

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

    Thích cái này :

    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

Để lại câu trả lời

Các địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *