Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
INICIANDO COM GD
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 500x500, 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:
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.
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 escolhidaimagefilledrectangle($imagem, 0, 0, $sizeW, $sizeH, $cor_fundo);//-----------------------------------------------------------// LOSANGO//-----------------------------------------------------------// Criando cor [ amarelo ]$cor_losango = imagecolorallocate($imagem, 255, 200, 0);// Desenhando um losangoimagepolygon($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írculoimageellipse($imagem, ($sizeW / 2), ($sizeH / 2), ($sizeH / 2), ($sizeH / 2), $cor_circ);// Preenchendo o desenho do círculoimagefilledellipse($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:
Bom estudos, até a próxima!
[]'s
Carregando comentários...