Zdravim.
Pokousim se rozchodit cestinu v gd knigone,ale nedari se mit to :(
<?php
$width=250;
$height=400;
$im = imagecreate($height, $width);
$bg = imagecolorallocate($im, 240, 240, 240);
$textcolor = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 5, 2, 5, "ěščřžýáíé ĚŠČŘŽÝÁÍÉ", $textcolor); //nazev grafu
header("Content-type: image/png");
imagepng($im);
?>
vypise nesmysly :(
Nevedel by nekdo jak na to?
Diky
Fórum › PHP
Php gd knihovna - čeština
To paja : Nepoužívej imagestring(), ale imagettftext():
<?php
$width=250;
$height=400;
$im = imagecreate($height, $width);
$bg = imagecolorallocate($im, 240, 240, 240);
$textcolor = imagecolorallocate($im, 0, 0, 0);
$font = 'arial.ttf';
imagettftext($im, 20, 0, 10, 20, $textcolor, $font, "ěščřžýáíé ĚŠČŘŽÝÁÍÉ");
header("Content-type: image/png");
imagepng($im);
?>
více info na http://de3.php.net/manual/en/function.imagettftext.php
To paja : Ještě pro vysvětlení. Funkce imagestring nevyužívá s původním nastavení font s českými znaky. Leda by sis na stránce
http://www.devtrolls.com/gdf_fonts/fonts.html?p1
našel český font (zatím tam žádný není), a pak jej pomocí funkce imageloadfont() http://de.php.net/manual/en/function.imageloadfont.php nahrál do GD knihovny. Ukazatel na tento font by si potom použil ve funkci imagestring() na druhé pozici, viz. kód.
<?php
$font = imageloadfont('bmreceipt.gdf');
$fontWidth = imagefontwidth($font);
$fontHeight = imagefontheight($font);
$text = "ěščřžýáíé ĚŠČŘŽÝÁÍÉ";
$im = imagecreate(strlen($text) * $fontWidth, $fontHeight);
$bgColor = imagecolorallocate($im, 255, 255, 255);
$fgColor = imagecolorallocate($im, 0, 0, 255);
imagestring($im, $font, 0, 0, $text, $fgColor);
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
To DragonBehemont :
Stahl jsem si z adresy http://www.consumer.gov/ncpw1999/files/arial.ttf
a ulozil do stejneho adresare na serveru jako mam php soubor pro vygenerovani obrazku.Ale pri spusteni program hlasi nasledujici chybu:
Warning: imagettftext() [function.imagettftext]: Could not find/open font in /var/www/ukaztese.cz/gd/test.php on line 11
Warning: Cannot modify header information - headers already sent by (output started at /var/www/ukaztese.cz/gd/test.php:2) in /var/www/ukaztese.cz/gd/test.php on line 13
�PNG ��� IHDR�����������i����PLTE������~��,���#IDATh���1��� �Om/��������������1����e ����IEND�B`�
toka napsal:
To paja : Kod?!
<?php
$width=250;
$height=400;
$im = imagecreate($height, $width);
$bg = imagecolorallocate($im, 240, 240, 240);
$textcolor = imagecolorallocate($im, 0, 0, 0);
$font = 'arial.ttf';
imagettftext($im, 20, 0, 10, 20, $textcolor, $font, "ěščřžýáíé ĚŠČŘŽÝÁÍÉ");
header("Content-type: image/png");
imagepng($im);
?>
To paja : a v tom souboru máš pouze tento kód? Nic více tam není? Protože tato chybová hláška znamená, že jsi ze skriptu již něco zaslal na výstup. Nemáš někdo před tím header ještě třeba echo?? A nebo zkus přesunout header("Contentp-type: image/png"); úplně na začátek skriptu.
To DragonBehemont : teda ne, blbost... to je způsobeno tou chybovou hláškou. Ta hláška, že nemůže otevřít font znamená, že buď neodpovídají názvy souborů (soubor má jinčí název, než je uveden ve skriptu), případně je soubor umístěn jinde, než je ve skriptu určeno. Další možností je to, že někdy skript potřebuje zadat cestu takto "./arial.ttf", nevím proč, ale někdy to pomůže. Můžeš zazipovat celou složku, kde máš uložený tento skript a hodit ji sem jako přílohu?
To DragonBehemont :
Diky za rady. uz to slape. Stacilo
./arial.ttf
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
PHP a čeština — založil Bre(a)ker
Knihovna GD — založil Michal115
Čeština v C++ — založil Pavel Szabo
Moderátoři diskuze