immagine di validazione form con lib gd

Salve a tutti, sono nuovo del forum e.....diciamo anche di PHP  :)

Ho trovato girando qua e la sulla rete questo piccolo script:

<?php
$img = imagecreate (180, 35); 
$sfondo = imagecolorallocate($img,0xC0,0xC0,0xC0); 
$stringa = imagecolorallocate($img,0xF0,0xF0,0xF0); 
imagettftext($img,15,3,14,27,$stringa,"C:\WINNT\Fonts\arial.ttf","Font: Arial");
header("Content-type: image/png");
imagepng($img); 
?>

Avevo intenzione di utilizzarlo per creare una serie di caratteri casuali da far apparire in un'immagine (tipo quelle che si usano per la validazione dei form, magari con una funzione random).

Quando vado per eseguirlo su la mia Ubuntu ottengo il seguente errore:

Warning: imagettftext() [function.imagettftext]: Could not find/open font in /var/www/web/gd/ma1.php on line 7

?PNG ??? IHDR???????#???`?????PLTE??????7?????IDAT(?c`?`P ?H?'???????IEND?B`?

Allora ho provato a modificarlo nel seguente modo:

<?php
//header("Content-type: image/png");

$img = imagecreate (180, 35); 
$sfondo = imagecolorallocate($img,0xC0,0xC0,0xC0); 
$stringa = imagecolorallocate($img,0xF0,0xF0,0xF0); 
imagettftext($img,15,3,14,27,$stringa,"/usr/share/fonts/X11/100dpi/charB24.pcf.gz","Font: charB24.pcf.gz");

imagepng($img); 
?>

Eseguendolo ricevo questo messaggio di errore:

Warning: imagettftext() [function.imagettftext]: Could not set character size in /var/www/web/gd/ma1.php on line 7

?PNG ??? IHDR???????#???`?????PLTE??????7?????IDAT(?c`?`P ?H?'???????IEND?B`?

Ps.: Ho commentato la funzione header per stampare a video l'errore, altrimenti ricevo solo:

L'immagine http://localhost/web/gd/ma1.php non può essere visualizzata poiché contiene degli errori.

Sapete aiutarmi?

inviato 9 anni fa
Dando_Sando
X 0 X

Alla funzione imagettftext devi passare il percorso completo al font da utilizzare. Nel primo caso hai specificato un percorso inesistente sulla Ubuntu, nel secondo caso non hai specificato un font ma un file gzip (.gz).

Devi semplicemente indicare con esattezza dove si trova il file .ttf del font che vuoi usare.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Si, il primo caso era solo per indicare lo script originale.

E' bastato seguire il tuo suggerimento ed indicare il file .ttf

/var/lib/defoma/gs.d/dirs/fonts/VeraSe.ttf

Grazie mille. :bye:

risposto 9 anni fa
Dando_Sando
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda