2009-06-24 7 views
0

Ich habe den folgenden Code-Block, der die zweite Paramater verwendet werden Ausgang möchte ich ein Captcha BildPHP: GD Library: Schrift vergrößern in image Funktion

$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)); 

Jetzt haben die Schrift size.I increaese als 5 .Ich weiß, dass wir nur von 1 bis 5 verwenden können. Aber ich möchte die \ font size ein bisschen mehr erhöhen. Auch ich will die Schriftart auch zu etwas anderem wie Arial oder Verdana ändern. Wie man das tut? Vielen Dank im Voraus

Antwort

6

Es klingt wie Sie besser dran wäre, mit imagettftext:

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

dachte, ich würde hinzufügen, dass Windows-Schriftart-Dateien, wenn verwendet, kann im Verzeichnis C: \ Windows \ Fonts \ – mcv

1

Verwenden Sie die imagettftext() Funktion.

$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]." "); 

wo $size ist die Schriftgröße und $fontfile ist eine Datei, die eine TTF Schriftart enthält. Weitere Informationen zur Verwendung finden Sie im PHP-Handbuch (oben verlinkt).

2

Eine weitere schnelle Möglichkeit ist es, die Größe des Bildes in Ihrem HTML-Code zu erhöhen. Also, wenn Ihre Datei captcha.php ein 50px breites Bild rendert, zeigen Sie es mit einer Breite von 100px an. Es ist nicht ideal, aber es ist eine schnelle Lösung.

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

Es ist eine Lösung, aber älterer Browser kann und Chaos über die Erweiterung und das Bild (die ist ein Captcha) wird nicht 100% lesbar sein, wie es sein sollte. –