Práca s GD knižnicou - 2. diel (obrazce)

Práca s GD knižnicou - 2. diel (obrazce)

V tomto díle si ukážeme jak do obrázku zakreslit základní geometrické tvary + uvidíte i výsledné obrázky, které byly vytvořeny za pomocí GD knihovny.
ImageLine (obrazek,int x1, int y1, int x2, int y2, barva);
Tato funkce nakreslí čáru z bodu x1,y1 do bodu x2,y2 o zadané barvě. Parametr obrazek jako vždy odkazuje na vytvořený obrázek. Při psaní souřadnic by jste si měli uvědomit že bod 0,0 není levý dolní roh, ale levý horní roh.
<?php

// odešle hlavičku prohlížeči kde specifikuje že se jedná o jpeg obrázek.

header ("Content-type:image/jpeg");

// Vytvoří obrázek o rozměrech 75 * 75 px.

$obrazek = ImageCreate(75,75);

// Nastaví barvu obrázku na 0,0,0 (RGB kód který odpovídá #000000).

$barva_cerna = ImageColorAllocate($obrazek,0,0,0);

// žlutá barva, kterou použijeme pro naše dvě čáry.

$barva_zluta = ImageColorAllocate ($obrazek,255,245,80);

//nakreslí čáru z pravého dolního rohu do levého horního rohu.

ImageLine ($obrazek,74, 74, 1, 1, $barva_zluta);

//nakreslí čáru z levého dolního rohu do pravého horního rohu.

ImageLine ($obrazek,1, 74, 74, 1, $barva_zluta);

// Odešle prohlížeči vygenerovaný obrázek.

ImageJpeg ($obrazek);

// Uvolní systémové prostředky.

ImageDestroy ($obrazek);

?>

 
Výsledek:
ImageLine

ImageRectangle ( obrazek, int x1, int y1, int x2, int y2, barva);
Používá se pokud chceme vytvořit obdélník, obrazek jako vždy odkazuje na funkci, kterou jsme vytvořili obrázek, x1,y1 a x2,y2 určují rohy obdélníku. Barva určuje barvu čáry obdélníku a jako vždy musí být použita funkce ImageColorAllocate.
<?php

// odešle hlavičku prohlížeči kde specifikuje že se jedná o jpeg obrázek.

header ("Content-type:image/jpeg");

// Vytvoří obrázek o rozměrech 75 * 75 px.

$obrazek = ImageCreate(75,75);

// Nastaví barvu obrázku na 0,0,0 (RGB kód který odpovídá #000000).

$barva_cerna = ImageColorAllocate($obrazek,0,0,0);

// žlutá barva.

$barva_zluta = ImageColorAllocate ($obrazek,255,245,80);

//nakreslí obdélník, v našem příkladě čtverec se souřadnicemi rohů [60,60] a 
[15,15].

ImageRectangle($obrazek,60, 60, 15, 15, $barva_zluta);

// Odešle prohlížeči vygenerovaný obrázek.

ImageJpeg ($obrazek);

// Uvolní systémové prostředky.

ImageDestroy ($obrazek);

?>

 
Výsledek:
ImageRectangle

ImageArc ( obrazek, int x, int y, int sirka int vyska, int zacatek, int konec, barva)
Když už umíte vytvořit obdélník, bylo by také dobré umět vytvořit elipsu, která se vytváří tímto příkazem.Bod se souřadnicemi [x,y] zadává střed. Sirka a vyska zadávájí šířku a výšku elipsy. Začátek a konec jsou vyjádřeny ve stupník a určují jaký kus se má vykreslit. Např. zadáte-li 0,360 vykreslí se celá elipsa. Pokud chcete vykreslit jen polovinu zadáte 0,180. Dále lze s touto funkcí vykreslit kružnici, stačí jen když pro výšku a šířku zadáte stejné hodnoty.
<?php

// odešle hlavičku prohlížeči kde specifikuje že se jedná o jpeg obrázek.

header ("Content-type:image/jpeg");

// Vytvoří obrázek o rozměrech 75 * 75 px.

$obrazek = ImageCreate(75,75);

// Nastaví barvu obrázku na 0,0,0 (RGB kód který odpovídá #000000).

$barva_cerna = ImageColorAllocate($obrazek,0,0,0);

// žlutá barva.

$barva_zluta = ImageColorAllocate ($obrazek,255,245,80);

//Protože se výška a šířka shodují, vznikne nám kružnice,která má střed v 
[37,37].

ImageArc ($obrazek,37,37, 50,50, 0, 360, $barva_zluta);

// Odešle prohlížeči vygenerovaný obrázek.

ImageJpeg ($obrazek);

// Uvolní systémové prostředky.

ImageDestroy ($obrazek);

?>
Výsledek:
ImageArc
Použijeme-li jako začátek a konec třeba 0,240 tak nám vznikne:
ImageArc

ImagePolygon (obrazek, array body, int počet_bodu, barva)
A tímto příkazem zakončíme dnešní díl. Tato funkce vytvoří mnohoúhelní (polygon). Zvláštní na této funkci je array body kde musíte vložit pole např. bod[0] představuje x1 bod[1] je y1 bod[2] je x2 bod[3] je y2 a tak dále…. Parametr počet_bodu určuje počet vykreslovaných bodů. Parametr obrazek a barva jsou stejné jako v předchozích funkcích.
<?php

// odešle hlavičku prohlížeči kde specifikuje že se jedná o jpeg obrázek.

header ("Content-type:image/jpeg");

// Vytvoří obrázek o rozměrech 75 * 75 px.

$obrazek = ImageCreate(75,75);

// Nastaví barvu obrázku na 0,0,0 (RGB kód který odpovídá #000000).

$barva_cerna = ImageColorAllocate($obrazek,0,0,0);

// žlutá barva.

$barva_zluta = ImageColorAllocate ($obrazek,255,245,80);



// Pole s body

$bod[]=10;

$bod[]=10;

$bod[]=50;

$bod[]=40;

$bod[]=10;

$bod[]=70;



// vytvoříme polygon (trojúhelník).

ImagePolygon ($obrazek, $bod, 3, $barva_zluta);

// Odešle prohlížeči vygenerovaný obrázek.

ImageJpeg ($obrazek);

// Uvolní systémové prostředky.

ImageDestroy ($obrazek);

?>
Výsledek:
ImagePolygon

A to je pro tento díl vše. Doufám, že se vám líbil a pokud máte jakékoliv připomínky, tak je pište do diskuze. V příštím díle se podíváme na vyplňování těchto obrazců. V dalších dílech pak můžete očekávat změnu velikosti obrázku, vypisování textu a písmen do obrázku a další užitečné funkce.
Alternatívne verzie: Text PDF Voice
Autor: Los.Pavlos · Kategória: Programovanie · Dátum: 05.06.2005 15:39

Komentáre

Zatiaľ tu nie sú žiadne komentáre.

Osobné údaje
Captcha
Odpíšte text z obrázku. Rozlišujú sa malé a veľké písmená.
Obsah
Možnosti