2009-06-24 8 views
0

Je le bloc de code suivant qui va afficher une image captchaPHP: GD Library: Augmenter la taille de la police dans la fonction ImageString

$im = @imagecreatefromjpeg("captcha.jpg"); 
$rand = _generateRandom(3); 
$_SESSION['captcha'] = $rand; 
ImageString($im, 5, 2, 2, $rand[0]." ".$rand[1]." ".$rand[2]." ", ImageColorAllocate ($im, 23, 85, 160)); 

Maintenant, je veux increaese la police size.I ont utilisé la deuxième paramater comme 5. Je sais que nous pouvons utiliser de 1 à 5 seulement. Mais je veux augmenter la taille de police un peu plus. Aussi je veux changer la police aussi à un autre comme Arial ou Verdana. Comment faire cela? Merci à l'avance

Répondre

6

On dirait que vous seriez mieux d'utiliser imagettftext:

array imagettftext (resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text) 
+0

Je pensais juste que j'ajouter que si vous utilisez Windows fichiers de police se trouve dans le répertoire C: \ Windows \ Fonts \ – mcv

1

Utilisez la fonction imagettftext().

$im = @imagecreatefromjpeg("captcha.jpg"); 
$rand = _generateRandom(3); 
$_SESSION['captcha'] = $rand; 
ImageString($im, $size, 0, 2, 2, ImageColorAllocate ($im, 23, 85, 160), $fontfile, $rand[0]." ".$rand[1]." ".$rand[2]." "); 

$size est la taille de la police, et $fontfile est un fichier contenant une police TTF. Pour plus d'informations sur l'utilisation, consultez l'entrée manuelle de PHP (ci-dessus).

2

Une autre option rapide est d'augmenter la taille de l'image, dans votre code html. Donc, si votre fichier captcha.php affiche une image large de 50 pixels, affichez-la à 100 pixels de large. Ce n'est pas idéal mais c'est une solution rapide.

<img src="captcha.php" width="100"> 
+1

Il est une solution, mais plus la puissance du navigateur et gâchera sur l'élargissement et l'image (qui est un captcha) ne sera pas lisible à 100% comme il se doit. –

Questions connexes