Gerando Imagens Dinamicamente
Bom, para iniciar vou explicar o procedimento para criar uma imagem usando o módulo GD em PHP. Se você não tem esse módulo, você pode fazer o download dele em http://www.boutell.com/gd/.
Para se criar a imagem, será usada a função ImageCreate(), então serão realizadas as alterações na imagem, então será finalizada a imagem usando ImageJpeg(), ImagePng() ou até ImageGif() se a versão do módulo GD for inferior à 1.4.
Bom, vamos ao que interessa. Primeiramente vamos criar uma pequena imagem com o seguinte texto: PHPBrasil. O código ficará da seguinte forma:
Bom, o script está todo comentado e acho que você entendeu. Se alguma dúvida ficar martelando aí, manda um comentário. =D
Bom, neste exemplo usamos a função ImageGif() para converter a imagem, $imagem, e depoisa enviamos ao navegador. Mas poderíamos ter salvo esta imagem em um arquivo, ao invés de mostrar ela no navegador. Veja o exemplo:
Como você deve ter notado, apenas retiramos aquele header() (que informava ao browser que o arquivo era uma imagem), afinal este exemplo não irá mostrar a imagem no navegador e sim gravar ela em $arquivo, e também mudamos os parâmetros da função ImageGif() para salvar a imagem no arquivo.
Para se criar a imagem, será usada a função ImageCreate(), então serão realizadas as alterações na imagem, então será finalizada a imagem usando ImageJpeg(), ImagePng() ou até ImageGif() se a versão do módulo GD for inferior à 1.4.
Bom, vamos ao que interessa. Primeiramente vamos criar uma pequena imagem com o seguinte texto: PHPBrasil. O código ficará da seguinte forma:
<?php header("Content-type: image/gif"); //Informa ao browser que o arquivo é uma imagem no formato GIF $imagem = ImageCreate(150,40); //Cria uma imagem com as dimensões 100x20 $vermelho = ImageColorAllocate($imagem, 255, 0, 0); //Cria o segundo plano da imagem e o configura para vermelho $branco = ImageColorAllocate($imagem, 255, 255, 255); //Cria a cor de primeiro plano da imagem e configura-a para branco ImageString($imagem, 3, 3, 3, "PHPBrasil", $branco); //Imprime na imagem o texto PHPBrasil na cor branca que está na variável $branco ImageGif($imagem); //Converte a imagem para um GIF e a envia para o browser ImageDestroy($imagem); //Destrói a memória alocada para a construção da imagem GIF. ?>
Bom, o script está todo comentado e acho que você entendeu. Se alguma dúvida ficar martelando aí, manda um comentário. =D
Bom, neste exemplo usamos a função ImageGif() para converter a imagem, $imagem, e depoisa enviamos ao navegador. Mas poderíamos ter salvo esta imagem em um arquivo, ao invés de mostrar ela no navegador. Veja o exemplo:
<?php $arquivo = "imagem1.gif"; $imagem = ImageCreate(150,40); $vermelho = ImageColorAllocate($imagem, 255, 0, 0); $branco = ImageColorAllocate($imagem, 255, 255, 255); ImageString($imagem, 3, 3, 3, "PHPBrasil", $branco); ImageGif($imagem, $arquivo); ImageDestroy($imagem); echo "A imagem foi salva no arquivo $arquivo."; ?>
Como você deve ter notado, apenas retiramos aquele header() (que informava ao browser que o arquivo era uma imagem), afinal este exemplo não irá mostrar a imagem no navegador e sim gravar ela em $arquivo, e também mudamos os parâmetros da função ImageGif() para salvar a imagem no arquivo.
Páginas:
1
2
Tentem usar a função imagejpeg() ao invés de ImageGif() e utilize a DLL php_gd2.dll ! acho q dae funciona!
06/03/2005 5:41pm
(~20 anos atrás)
Gente
php.ini
extension_dir = D:\PHP\extensions (existe esse diretório e descompactei o gd nele juntamente com a php_gd.dll)
deletei o ; da linha extension=php_gd.dll
qdo mando rodar
Content-type: text/html X-Powered-By: PHP/4.3.1 PHP Warning: Unknown(): Unable to load dynamic library 'D:\PHP\extensions\php_gd.dll' - Não foi possível encontrar o procedimento especificado. in Unknown on line 0
alguem pode me ajudar
php.ini
extension_dir = D:\PHP\extensions (existe esse diretório e descompactei o gd nele juntamente com a php_gd.dll)
deletei o ; da linha extension=php_gd.dll
qdo mando rodar
Content-type: text/html X-Powered-By: PHP/4.3.1 PHP Warning: Unknown(): Unable to load dynamic library 'D:\PHP\extensions\php_gd.dll' - Não foi possível encontrar o procedimento especificado. in Unknown on line 0
alguem pode me ajudar
19/02/2004 7:49am
(~21 anos atrás)
Cara, eu configurei tudo e tal.... Mas em que pasta exatamente eu colo os arquivos do .zip? Coloquei na pasta c:\php\gd, configurei no php.ini e mesmo assim ta dando erro...
28/02/2003 3:23pm
(~22 anos atrás)
Apesar do link ser pro Manual em português, está escrito em inglês.
http://www.php.net/manual/pt_BR/ref.image.php
http://www.php.net/manual/pt_BR/ref.image.php
30/10/2002 8:53am
(~22 anos atrás)
Simplesmente coloque o php_gd.dll no extension_dir (que está definido em seu php.ini).
Abraços,
Luiz Gustavo Cardoso Ribeiro
Abraços,
Luiz Gustavo Cardoso Ribeiro
19/05/2002 4:55pm
(~22 anos atrás)
Eu sei que tem que tirar o ; da extension=php_gd.dll
Até ai não tem drama e depois onde eu descompacto o gd-1.8.4.zip? em que pasta??
Valeu.
Até ai não tem drama e depois onde eu descompacto o gd-1.8.4.zip? em que pasta??
Valeu.
18/05/2002 7:58pm
(~22 anos atrás)
Seguinte cara,
Você esqueceu de definir a extensão usando:
extension=php_gd.dll
Ele simplesmente não encontra a função pois você apenas colocou a dll no dir, você precisa informar ao php que é para ele usar a extensão da gd.
Peço desculpas novamente por ter me esquecido de falar isso em meus primeiros comentários...
Abraços,
Luiz Gustavo Cardoso Ribeiro
Você esqueceu de definir a extensão usando:
extension=php_gd.dll
Ele simplesmente não encontra a função pois você apenas colocou a dll no dir, você precisa informar ao php que é para ele usar a extensão da gd.
Peço desculpas novamente por ter me esquecido de falar isso em meus primeiros comentários...
Abraços,
Luiz Gustavo Cardoso Ribeiro
24/04/2002 9:11pm
(~23 anos atrás)
Rafael, eu acho que tem, é só você colocar o arquivo php_gd.dll no diretório onde estão suas extensões do php (que está definido em seu php.ini).
E tem uma outra coisa que eu esqueci de citar anteriormente, além de você colocar a extensão no diretório, você deve incluir a extensão em seu php.ini da seguinte forma:
extension=php_gd.dll
Você provavelmente tem essa linha em seu php.ini já, mas comentada, se não tiver, é só adicionar ela...
Se você não souber qual o seu diretório de extensões do PHP, você pode ver em seu php.ini isso, por exemplo, no meu arquivo está assim:
extension_dir = D:\PHP\extensions
Logo, é só você procurar por extension_dir dentro de tal arquivo...
Espero ter solucionado as dúvidas de vocês!
Abraços,
Luiz Gustavo Cardoso Ribeiro
E tem uma outra coisa que eu esqueci de citar anteriormente, além de você colocar a extensão no diretório, você deve incluir a extensão em seu php.ini da seguinte forma:
extension=php_gd.dll
Você provavelmente tem essa linha em seu php.ini já, mas comentada, se não tiver, é só adicionar ela...
Se você não souber qual o seu diretório de extensões do PHP, você pode ver em seu php.ini isso, por exemplo, no meu arquivo está assim:
extension_dir = D:\PHP\extensions
Logo, é só você procurar por extension_dir dentro de tal arquivo...
Espero ter solucionado as dúvidas de vocês!
Abraços,
Luiz Gustavo Cardoso Ribeiro
18/04/2002 5:12pm
(~23 anos atrás)
Não... Plataformas unix também podem usar, mas eu não tenho conhecimento de como fazer isso.
Vou procurar material sobre o assunto, se eu encontrar, eu coloco aqui a url...
Abraços,
Luiz Gustavo Cardoso Ribeiro
Vou procurar material sobre o assunto, se eu encontrar, eu coloco aqui a url...
Abraços,
Luiz Gustavo Cardoso Ribeiro
17/04/2002 11:51am
(~23 anos atrás)