Jump to content


Photo

Iniciando Com Gd


  • Faça o login para participar
3 replies to this topic

#1 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 03/09/2005, 16:14

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.dll
Em 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
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#2 henriquefr

henriquefr

    12 Horas

  • Usuários
  • 209 posts
  • Sexo:Não informado
  • Localidade:Cuiabá-MT
  • Interesses:PHP, Ajax e JavaScript.

Posted 06/09/2005, 21:30

aeeee boa .. mando muito bom agora ...
tava procurando um tutorial assim faz um tempo jah ...

vou ler ele .. qualquer coisa .. eu posto ae ...

valew ...
<?php

?>

#3 Naruto

Naruto

    12 Horas

  • Usuários
  • 186 posts
  • Sexo:Não informado

Posted 29/10/2005, 21:49

como eu instalo essa biblioteca num host q eu hospedo meu site?
uzumaki.naruto
-----------------------------------------------
"Eu não vou contra minhas palavras. Este é meu estilo ninja."
» Uzumaki Naruto

#4 together

together

    AFCweb

  • Usuários
  • 282 posts
  • Sexo:Masculino
  • Localidade:Araraquara - SP
  • Interesses:aaaa

Posted 29/10/2005, 21:51

como eu instalo essa biblioteca num host q eu hospedo meu site?

o dono do host q tem q abilita-la naum vc..

pede pra ele ,,,




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq