Heim > php教程 > php手册 > PHP-Grafikoperation zum Generieren eines Bildverifizierungscodes

PHP-Grafikoperation zum Generieren eines Bildverifizierungscodes

WBOY
Freigeben: 2016-10-20 10:09:13
Original
1514 Leute haben es durchsucht

Der einfache Bestätigungscode gibt tatsächlich einige Zeichen im Bild aus, was durch die Imagestring-Funktion erreicht werden kann.

Um den Bestätigungscode jedoch sicherer zu machen und zu verhindern, dass andere Programme ihn automatisch erkennen, ist es jedoch häufig erforderlich, eine gewisse Interferenzverarbeitung am Bestätigungscode durchzuführen. Normalerweise werden einige Rauschpunkte gezeichnet. Interferenzliniensegmente werden gezeichnet und die ausgegebenen Zeichen werden geneigt und verdreht sowie andere Vorgänge ausgeführt.

Sie können Imagesetpixel zum Zeichnen von Punkten verwenden, um Rauschinterferenzen zu erzielen. Das Zeichnen nur eines Punkts ist jedoch von geringem Nutzen, sodass Schleifen häufig zum zufälligen Zeichnen verwendet werden.

<br>例子:
Nach dem Login kopieren

$img = imagecreatetruecolor(100, 40);
$black = imagecolorallocate($img, 0x00, 0x00, 0x00);
$green = imagecolorallocate($img, 0x00 , 0xFF, 0x00);
$white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
imagefill($img,0,0,$white);
//Generieren Sie einen zufälligen Bestätigungscode
$code = '';
for($i = 0; $i < 4; $i ) { //4-stelliger Bestätigungscode
$code .= rand(0, 9) ;
}
imagestring($img, 5, 10, 10, $code, $black);
//Rauscheninterferenz hinzufügen
for($i = 0;$i<50;$i ) {
imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black); Zeichne ein einzelnes Pixel, Syntax: bool imagesetpixel ( resources $image , int $x , int $y , int $color )
imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green);
}//Bestätigungscode ausgeben
header("content-type: image/png");
imagepng($img); //Das Bild im PNG-Format an den Browser ausgeben
imagedestroy($img); //Nachdem die Bildverarbeitung abgeschlossen ist, verwenden Sie die Anweisung imagedestroy(), um die Bildressource zu zerstören Speicher freigeben, obwohl diese Funktion nicht erforderlich ist, es sich jedoch empfiehlt, sie zu verwenden.

?>

<br><br><br>
Nach dem Login kopieren
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage