http://www.zaachi.com/cs/items/gd-1-co-je-to-gd-library.html

GD #1: Co je to GD library

Publikováno: 24.06.2008 12:52:08

GD knihovna je open source sloužící k dynamickému vytváření obrázku. Teoretický článek vysvětluje základní vlastnosti a využití knihovny.

gd image

Webový programovací grafický nástroj

GD knihovna je open source sloužící k dynamickému vytváření obrázků. Přední formáty obrázků, které tato knihovna dokáže vytvořit, jsou JPEG, PNG, GIF a WBMP. Mimo tyto základní typy umí ovšem daleko víc. GD knihovna byla napsána v ANSI C, tedy předně pro jazyk C a C++. Je používána zejména ke generování a vykreslování grafů, miniatur obrázků, a podobně. Knihovna byla původně vytvořena Thomasem Boutellem a nyní je udržována PHP vývojářem Pierrem A. Joyem, který spadá pod PHP.net. Ten po vydání několika nových verzí přejmenoval knihovnu z GD na libGD

Základ GD knihovny

GD dokáže vytvářen obrázky složené z úseček, oblouků, obrázků, textu za použítí různých barev. Od verze 2.0 podporuje navíc TrueColor obrázky, Alfa kanály a pro hladkou změnu velikosti umí "převzorkovávat".

Podpora GD knihovny

LibGD podporuje jazyky C, PHP, Perl, O’Caml, Tcl, Lua, Pascal, GNU Octave a REXX. Předně je však používána v jazyce PHP, kde pro ni bylo vytvořeno i několik speciálních přidaných prvků a možností.

GD a PHP

Pokud chcete používat GD v PHP, je zde možnost, že výsledný zdrojový kód bude chtít pro kompilaci další knihovny. Zde záleží na formátu obrázků, se kterými pracujete. Výstup u většiny programovacích jazyků, využívajících GD knihovnu, je soubor na disku v některém z podporovaných formátů obrázků.

PHP umožňuje zobrazovat výsledný obrázek přímo v prohlížeči. To je zřejmě hlavní důvod, proč je GD nejvíce rozšířeno právě u jazyka PHP. Většina prohlížečů podporuje formáty JPEG a PNG, které jsou zřejmě jedny z nejdůležitějších formátů podporovaných touto knihovnou.

Nejdůležitější datové typy v GD

Přidané .gd a .gd2 formáty

Do GD knihovny byly postupem času přidány dva vlastní formáty, které usnadňují celkovou prácí a náročnost na výpočty: