Produzido pela equipe de Desenvolvimento
-------------------------------------------------------------------
Para você usar esse biblioteca você terá de adicioná-la ao seu PHP.
Como fazer isso?
Verifique se na pasta de extensões (geralmente extensions/) possui o
arquivo php_gd2.dll, se estiver lá, vá até o arquivo PHP.ini que fica
na pasta raiz do PHP e procure pela parte aonde está definido as bibliotecas
que podem ser utilizadas, veja se possui a linha:
extension=php_gd2.dllEm alguns caso a linha é com php_gd.dll, mas se na pasta tiver o php_gd2.dll,
você pode trocar o nome para o php_gd2.dll no PHP.ini.
Se essa linha estiver comentanda, ou seja, com um ; (ponto e vírgula) retire.
E inicie o Apache se não estiver usando e reinicie se já está com ele ativado.
Primeiramente devemos criar uma imagem que servirá de base
a toda criação feita apartir dela.
A imagem terá o tamanho 400x200, como especificado nas
variáveis $base_w e $base_h.
$base_w = 400; // width = largura $base_h = 200; // height = altura
Criando a imagem base especificando as dimensões (largura e altura)
$imagem = imagecreatetruecolor($base_w, $base_h);
Agora com a imagem criada, poderemos dá cor a ela
Veja abaixo como criar uma cor no modelo RGB
R = Red (vermelho) | G = Green (verde) e B = Blue (azul)
O maior valor para os 3 últimos argumentos é de 225.
Você pode trabalhar adicionando valores no 3 argumentos
Criando assim uma nova cor a cada combinação feita.
$cor_fundo = imagecolorallocate($imagem, 225, 0, 0);
Agora iremos pintar, ou melhor, preencher a imagem criada
com a cor definida anteriormente.
imagefilledrectangle($imagem, 0, 0, 500, 500, $cor_fundo);
Agora iremos desenhar um retângulo (contorno) sobre a imagem.
Devemos ter sempre em mente como funciona os eixos x e y.
x = horizontal | y = vertical
No caso abaixo trabalhamos com x1, y1, x2, y2.
Isso funciona da seguinte maneira:
x1 = Cria uma linha reta apartir do ponto indicado.
y1 = Cria uma linha em pé apartir do ponto indicado.
x2 = Cria uma linha reta apartir do ponto indicado.
'-- Irá determinar a altura do retângulo.
'-- x2 - x1 = Altura do retângulo.
y2 = Cria uma linha em pé apartir do ponto indicado.
'-- Ela irá determinar o comprimento do retângulo.
'-- y2 - y1 = Largura do retângulo.
O último argumento você poderá indicar a cor.
imagerectangle($imagem, 50, 50, 150, 150, 0);
Agora iremos criar (desenhar) uma elipse.
Quando damos as coordenadas ele usa o centro como origem.
imageellipse($imagem, 250, 100, 100, 100, 0);
Criando cor que irá preencher a elipse
$cor_elipse = imagecolorallocate($imagem, 0, 255, 0);
Iremos pintar a elipse com a cor criada
Note que usei as mesmas coordenadas (x e y) para que a elipse
esteja no mesmo local que a anterior, com a diferença dela ser
menor que a anterior, como foi indicado ela possui 50 x 50 pixels
imagefilledellipse($imagem, 250, 100, 50, 50, $cor_elipse);
Agora iremos exibir a imagem
imagepng($imagem);
Destroi a imagem da memória
imagedestroy($imagem);
Importante:
- Cada imagem será sobreposta a anterior a ela.
Se você criar uma imagem e utilizar as mesmas coordenadas irá perceber isso.
Até usamos isso no exemplo da elipse, ela só não tampou a elipse anterior pois
possui um tamanho menor.
- Agora que já tem uma base de como funciona as funções do gd.
Você pode exercitar tentando criar desenhos que utilizam bastante
formas geometricas, sabendo que é possível criar elipse, polígonos, etc...
Leia sempre no manual http://www.php.net/gd e qualquer dúvida poste no fórum.
Que tal você fazer a bandeira do Brasil como exercício?
Estude, tire dúvidas e bola pra frente.
Se você tentar e não conseguir veja o código abaixo, se tiver alguma
dúvida poste-a no fórum.
<?php // Dimensão (Altura x Largura) $sizeW = 300; $sizeH = 200; // Criando uma imagem $imagem = imagecreatetruecolor($sizeW, $sizeH); //----------------------------------------------------------- // RETÂNGULO //----------------------------------------------------------- // Criando cor [ verde ] $cor_fundo = imagecolorallocate($imagem, 0, 150, 0); // Preenchendo o fundo com a cor escolhida imagefilledrectangle($imagem, 0, 0, $sizeW, $sizeH, $cor_fundo); //----------------------------------------------------------- // LOSANGO //----------------------------------------------------------- // Criando cor [ amarelo ] $cor_losango = imagecolorallocate($imagem, 255, 200, 0); // Desenhando um losango imagepolygon($imagem, array( (($sizeW * 5) / 100), ($sizeH / 2), ($sizeW / 2), (($sizeH * 5) / 100), (($sizeW * 95) / 100), ($sizeH / 2), ($sizeW / 2), (($sizeH * 95) / 100) ), 4, $cor_losango); imagefilledpolygon($imagem, array( (($sizeW * 5) / 100), ($sizeH / 2), ($sizeW / 2), (($sizeH * 5) / 100), (($sizeW * 95) / 100), ($sizeH / 2), ($sizeW / 2), (($sizeH * 95) / 100) ), 4, $cor_losango); //----------------------------------------------------------- // CÍRCULO //----------------------------------------------------------- // Criando cor [ vermelho ] $cor_circ = imagecolorallocate($imagem, 0, 0, 225); // Desenhando um círculo imageellipse($imagem, ($sizeW / 2), ($sizeH / 2), ($sizeH / 2), ($sizeH / 2), $cor_circ); // Preenchendo o desenho do círculo imagefilledellipse($imagem, ($sizeW / 2), ($sizeH / 2), ($sizeH / 2), ($sizeH / 2), $cor_circ); //----------------------------------------------------------- // TEXTO //----------------------------------------------------------- $cor_letra = imagecolorallocate($imagem, 255, 255, 255); imagestring($imagem, 5, (($sizeW * 34) / 100), (($sizeH * 48) / 100), "Viva o PHP!", $cor_letra); imagepng($imagem); imagedestroy($imagem); ?>
Para conhecer outras funções da biblioteca GD, veja no manual:
http://www.php.net/gd
Bom estudos, até a próxima!
[]'s