Creació d
Creació d'una imatge amb GD

 

El primer pas per començar a treballar amb gràfics i image GD, és la creació d'una imatge, que pot ser en blanc (per fer una gràfica, un dibuix ...) o bé a partir d'una imatge existent (per editar-la, redimensionar ...). 

Taula de contingut

 

 

 

 

Creació d'una imatge en blanc

Per crear una imatge en blanc i poder dibuixar sobre ella, utilitzarem la funció imagecreate, a la qual li indicarem la mida de la imatge que volem crear, la funció retornarà un identificador de la imatge que, en l'exemple, emmagatzemem en la variable $im. 

El següent pas és crear un color, que en ser el primer creat, serà usat com a color de fons. Per crear colors, usem la funció imagecolorallocate, a la qual li passem l'id de la imatge i els valors de vermell, verd i blau (en aquest ordre)

000 <? Php
001 $im=@imagecreate(100,100) or die("Error creant la imatge") ;
002 $fons imagecolorallocate($im, 255, 255, 255)  
003 //blanc  
004 // Aqui podem treballar amb la imatge  
005 header("Content-type: image/png") ;
006 imagepng($im) ;
007 imagedestroy($im) 
008 ?>


Finalment, com veiem en l'exemple, enviem al navegador els encapçalaments de PNG (header), enviem la imatge al navegador (imagepng) i alliberem la memòria (imagedestroy).
 

 

 

 

Carregar una imatge existent

La càrrega d'una imatge existent és mes o menys com el cas anterior, però en lloc d'usar imagecreate , usarem una funció de les de la següent llista:

imagecreatefromgif. Crea una imatge a partir d'una imatge gif existent 

imagecreatefromjpeg. Crea una imatge a partir d'una imatge jpeg existent 

imagecreatefrompng. Crea una imatge a partir d'una imatge png existent

imagecreatefromgd2,

imagecreatefromgd2part,

imagecreatefromgd,

imagecreatefromstring,

imagecreatefromxbm,

Imagecreatefromxpm

Que depenent de la versió de GD, estaran o no disponibles, per saber-ho, farem:

000 <? Php
001 var_dump(gd_info())  
002 ?>


Vegem un exemple de càrrega d'una arxiu png:

000 <? Php
001 $im imagecreatefrompng("image.png") ;
002 header("Content-type: image/png") ;
003 imagepng($im) ;
004 imagedestroy($im) ;
005 ?>