GD #1: Co je to GD library
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.
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
- gdImage – jsou odlišeny dva typy obrázků: obyčejné a trueColor. S každým z nich se pracuje pomocí jiných funkcí. Všechny funkce pracující s tímto formátem očekávají jako parametr ukazatel na stejný datový typ a taktéž návratová hodnota je ukazatel na tentýž typ. Kromě hodnot RGB (red, green, blue) je zde možnost nastavit i alpha hodnotu – průhlednost.
- gdFont – typ písma – používá se pro deklaraci vlastností písma.
- gdPoint – reprezentuje jeden bod v obrázku.
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:
- .gd formát slouží pouze pro práci, nikoliv pro zobrazování. Není to komprimovaný formát, proto je přístup k němu mnohem rychlejší, než přístup k souborům ve formátu PNG nebo JPEG. Měl by sloužit pouze k výstavbě dalších obrázků.
- .gd2 je podobný jako .gd. Taktéž není určen pro zveřejňování obrázků, ale na rozdíl od prvního formátu, je tento formát již komprimovaný. Slouží taky k rychlému načítání, ale pouze části obrázku, nikoliv obrázku jako celku.