Práca s GD knižnicou - 4. diel (text)

Práca s GD knižnicou - 4. diel (text)

Jak už samotný titulek článku napovídá ukážeme jsi jak vykreslit do generovaného obrázku znaky i celé věty.
Imagechar (obrazek, int pismo, int osa_x, int osa_y, znak, barva);
Jako parametr pismo musíme zadat buď číslo (čísla 1 - 5 jsou standartně nastaveny a čím vyšší tím vetší písmo), nebo pokud jsi chcete definovat vlastní styl můžete použít funkci ImageLoadFont( ). Za parametr znak dosaďte písmeno které chcete vypsat. Pokud dostadíte třeba slovo nazdar, vypíše se vám pouze písmeno n. Pozice [osa_x, osa_y] určuje horní levý roh vykreslovaného písmena. Ostatní parametry 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);

$barva_bila = Imagecolorallocate ($obrazek,255,255,255);



// vypíše do obrázku písmeno a

imagechar ($obrazek, 5, 25,25,"a",$barva_bila);



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

ImageJpeg ($obrazek);

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

ImageDestroy ($obrazek);

?>
Výsledek:
Imagechar

ImageCharUp (obrazek, int pismo, int osa_x, int osa_y, znak, barva);
U Této funkce jsou stejné parametry jako u předchozí. Jediné čím se liší je, že tato funkce vykreslí znak převrácený o 90°.
<?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);

$barva_bila = Imagecolorallocate ($obrazek,255,255,255);



// vypíše do obrázku písmeno a

imagecharup ($obrazek, 5, 25,40,"a",$barva_bila);



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

ImageJpeg ($obrazek);

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

ImageDestroy ($obrazek);

?>
Výsledek:
ImageCharUp

ImageString (obrazek, int pismo, int x, int y, text, barva);
U této funkce jsou parametry stejné jako u ostatních , jediné čím se tato funkce liší je parametr text. Místo něho můžeme dát i celé věty a vypsat je tak do obrázku. Samozřejmě i u této funkce existuje převrácení o 90°, a to pomocí funkce ImageStringUp (obrazek, int pismo, int x, int y, text, barva);
<?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(150,50);

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

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

$barva_bila = Imagecolorallocate ($obrazek,255,255,255);



$text = "Povedlo jse.";

// vypíše do obrázku písmeno a

imagestring ($obrazek, 5, 10,25,$text,$barva_bila);



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

ImageJpeg ($obrazek);

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

ImageDestroy ($obrazek);

?>
Výsledek:
ImageString

ImageLoadFont (nazev_souboru)
Díky tomuto příkazu jsi můžete načíst vlastní styl písma, který můžete následovně použít pro vygenerování. Jediný parametr je nazev_souboru, který odkazuje na soubor s vaším písmem. Vaše fonty musí být ve formátu .gdf , který můžete nalézt třeba na: http://www.widgnet.com/gdf_fonts/fonts.html. A pokud si chcete vygenerovat vlastní .gdf můžete použít GDFontGenerator, který nalezente na: http://www.philiplb.de/index.php?showdownload=63&p=Downloads Tento příklad vám nebude fungovat pokud jsi nestáhnete stejnou knihovnu (nebo stejně pojmenovanou) a nedáte ji do adresáře s tímto skriptem.
<?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(350,70);

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

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

$barva_bila = Imagecolorallocate ($obrazek,255,255,255);



// proměnná s textem, který vypíšeme do obrázku

$text = "Povedlo se.";



// náš načítaný font. (stáhnut z http://www.widgnet.com/gdf_fonts/zipped/almosnow.zip)

$nase_pismo = ImageLoadFont ("almosnow.gdf");

// vypíše do obrázku písmeno a

imagestring ($obrazek, $nase_pismo, 10,10,$text,$barva_bila);



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

ImageJpeg ($obrazek);

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

ImageDestroy ($obrazek);

?>
Výsledek:
ImageLoadFont

A to je pro tento díl vše. V příštím díle se podíváme na pokročilejší možnosti práce s textem jako je vypočítávání polohy, práce s true typovým písmem, atď.
Alternatívne verzie: Text PDF Voice
Autor: Los.Pavlos · Kategória: Programovanie · Dátum: 14.06.2005 15:58

Komentáre

#1 Juřla E-mail
08.03.2007 14:36
Super článek. Zajímalo by mě, jak dosáhnu toho, aby se text posunul na nový řádek- povedlo bude na řádku č. 1 a se na řádku č. 2. Přes \n to nejde, to jsem zkoušel jko první.

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