Práca s obrázkami v PHP: GD Graphics Library

Jakub Žilinčan  /  03. 07. 2007, 00:00

Pri tvorení profesionálnych webových stránok už dávno nestačí upravovať obrázky pomocou CSS, alebo nebodaj (X)HTML. Ako ideálne riešenie sa naskytuje PHP s použitím GD Graphics Library.

Úvod
PHP nie je obmedzené len na prácu s HTML výstupmi. Často sa používa aj na tvorenie a manipuláciu s obrázkami v rôznych formátoch: od gif, cez png, jpg, wbmp, až ku xpm. Takisto dokáže vytvoriť výstup priamo do browsera.
Aby Vám všetko fungovalo, ako má, budete potrebovať GD knižnicu.

 

Požiadavky
Všetko, čo potrebujete, je znalosť PHP funkcií a inštalácia GD knižnice. Formáty obrázkov, s ktorými chcete pracovať, závisia od verzie knižnice, ktorú máte, a ostatých knižníc, ktoré sa dajú doinštalovať.

Verzia staršia, ako gd-1.6, podporuje GIF, ale nepodporuje PNG.
Verzia novšia, ako gd-1.6, ale zároveň staršia, ako gd-2.0.28, podporuje PNG, ale GIF nie.

A napokon v staršej verzii, ako gd-2.0.28, bola obnovená aj práca s GIF.

 

Inštalácia
Pre sprístupnenie práce s GD, treba nakonfigurovať PHP na --with-gd[=DIR], kde DIR je priečinok miesta inštalácie GD. Pre používanie pribalenej GD knižnice, ktorá sa prvýkrát defaultne vyskytla v PHP verzii 4.3.0, použite na konfiguráciu jednoducho --with-gd.

Vo Windowse potom už len vložíme GD2 DLL php_gd2.dll do php.ini. GD1 DLL php_gd.dll bolo odstránené v PHP verzii 4.3.2. Treba však mať na pamäti, že používanie truecolor funkcií, ako napr. imagecreatetruecolor(), vyžaduje GD2 knižnicu.

Pre zneprístupnenie GD, použite --without-gd.

 

Dôležité funkcie
Imagecreatefromjpeg() vytvorí GD instanciu pre knižnicu z existujúceho JPEG obrázku

Imagecreatefrompng() vytvorí GD instanciu pre knižnicu z existujúceho PNG obrázku

Imagecreatefromgif() vytvorí GD instanciu pre knižnicu z existujúceho GIF obrázku

Imagesx()zistí šírku obrázku

Imagesy() zistí výšku obrázku

Imagecreatetruecolor() vytvorí nový truecolor obrázok

Imagecolorallocate() namieša farbu

Imagestring() vypíše reťazec horizontálne

Imagestringup() vypíše reťazec vertikálne

Imagejpeg() vráti JPEG obrázok do browsera, alebo súboru

Imagegif() vráti GIF obrázok do browsera, alebo súboru

Imagepng() vráti PNG obrázok do browsera, alebo súboru

imagedestroy() zničí obrázok

 

Práci s obrázkami chcem venovať viacero častí, takže neskôr si ukážeme aj nejaké príklady, popri ktorých sa budem snažiť trošku opísať použité funkcie.

S GD knižnicou sa dajú robiť naozaj zaujímavé veci, tak dúfam, že aj Vy si ju obľúbite.


Neprehliadnite: