Autor | Zpráva | ||
---|---|---|---|
denCo Profil |
#1 · Zasláno: 27. 9. 2009, 19:22:57
mam jednu funkciu, ale ani svet nefunguje
<?php $velkost_x = 200; $velkost_y = 75; $text = mt_rand(100000, 999999); $miesto_na_znak = $velkost_x / (strlen( $text ) +1 ); $obrazok = imagecreatetruecolor( $velkost_x, $velkost_y ); $pozadie = imagecolorallocate ( $obrazok, 255, 255, 255 ); $okraj = imagecolorallocate ( $obrazok, 128, 128, 128 ); $farby[] = imagecolorallocate ( $obrazok, 128, 64, 192 ); $farby[] = imagecolorallocate ( $obrazok, 192, 64, 128 ); $farby[] = imagecolorallocate ( $obrazok, 108, 190, 64 ); imagefilledrectangle( $obrazok, 1, 1, $velkost_x - 2, $velkost_y - 2, $pozadie); imagerectangle( $obrazok, 0, 0, $velkost_x - 1, $velkost_y - 1, $okraj ); for ( $i = 0; $i < strlen($text); $i++) { $farba = $farby[$i % count( $farby)]; imagettftext ( $obrazok, 28 + rand(0, 8), -20 + rand(0, 40), ( $i +0.3 ) * $miesto_na_znak, 50 + rand( 0, 10 ), $farba, 'arial.ttf', $text{$i} ); //31 riadok } imageantialias( $obrazok, true ); //34 riadok for ( $i = 0; $i < 1000; $i++) { $x1 = rand( 5, $velkost_x -5 ); $y1 = rand(5, $velkost_y -5 ); $x2 = $x1 - 4 + rand( 0, 8 ); $y2 = $y1 - 4 + rand( 0, 8 ); imageline( $obrazok, $x1, $y1, $x2, $y1, $farby[rand(0, count($farby) - 1 ) ] ); } header('Content-Type: image/png'); imagepng($obrazok); ?> vypisuje chybu Warning: imagettftext() [function.imagettftext]: Could not find/open font in ... on line 31 Fatal error: Call to undefined function imageantialias() in ... on line 34 |
||
Davex Profil |
#2 · Zasláno: 27. 9. 2009, 19:34:34
Je soubor arial.ttf s fontem ve stejném adresáři jako skript?
Funkce imageantialias() nefunguje pravděpodobně proto, že je PHP starší než 4.3.2 nebo je zkompilováno s jinou GD knihovnou - lze to zjistit ve výpisu phpinfo(). |
||
denCo Profil |
#3 · Zasláno: 28. 9. 2009, 14:16:25
„Je soubor arial.ttf s fontem ve stejném adresáři jako skript?“
hej, je „Funkce imageantialias() nefunguje pravděpodobně proto, že je PHP starší než 4.3.2 nebo je zkompilováno s jinou GD knihovnou - lze to zjistit ve výpisu phpinfo().“ PHP Version 5.2.0-8+etch15... GD FreeType Version 2.2.1 GD Version 2.0 or higher |
||
Majkl578 Profil |
#4 · Zasláno: 28. 9. 2009, 15:01:56
Note: This function is only available if PHP is compiled with the bundled version of the GD library.
tudiz to nejde protoze gd knihovna neni zkompilovana primo s php (jak tomu u debianu byva, je v repositari jako php5-gd) |
||
denCo Profil |
#5 · Zasláno: 28. 9. 2009, 15:51:25
a ako to vyriesim?
|
||
Davex Profil |
#6 · Zasláno: 28. 9. 2009, 17:15:41
Jméno souboru s fontem musí být jen malými písmeny. Dále bych zkusil v zadání jména souboru s fontem vnutit aktuální adresář.
imagettftext ( $obrazok, 28 + rand(0, 8), -20 + rand(0, 40), ( $i +0.3 ) * $miesto_na_znak, 50 + rand( 0, 10 ), $farba, './arial.ttf', $text{$i} ); //31 riadok } Funkce imageantialias() není na serveru dostupná, tak jí jednoduše nepoužívej. |
||
denCo Profil |
#7 · Zasláno: 28. 9. 2009, 17:47:17 · Upravil/a: denCo
Davex
jj ten font som vyriesil zadanim uplnej cesty... ok tu funckiu idem skusit hej funguje mi teraz vsetko len nefunguje mi mt_rand(), ked tam dam retazec vypise obrazok v pohode ale ked dam ze $text = mt_rand(10000,999999); tak nezobrazi ziadny text |
||
Davex Profil |
#8 · Zasláno: 28. 9. 2009, 18:15:31
Funkce mt_rand() vrací číslo, které se musí v tomto případě převést na string:
$text = strval(mt_rand(10000,999999)); |
||
denCo Profil |
#9 · Zasláno: 28. 9. 2009, 18:17:50
jojo, ide mi to, vdaka az radu
|
||
Časová prodleva: 15 let
|
0