\n<\/p> Die Funktion display () hat nichts anderes als einen normalen HTML -Code, der ein Bild im Browser anzeigt. Davon abgesehen wird nur ein Styling durchgeführt, damit die Ausgabe pr?sentierbar aussieht.
<\/p>\n
In der Funktion create_image () wird eine Variable verwendet, um das von der ImageCrreatReEcolor () -Funktion zurückgegebene Bild zu verweisen, das die Breite und L?nge des Bildes als Argumente nimmt. ImagePng () erstellt ein PNG -Bild des angegebenen Namens und Pfades (im selben Verzeichnis). <\/p>\n
Ein schwarzes Bild ist die Ausgabe nach unserem ersten Schritt. <\/p>\n
<\/p>\n
Beachten Sie, dass das Funktionsbildpng () die letzte Zeile unserer Funktion ist und alle folgenden Schritte nur vor diesem Funktionsaufruf in die Funktion create_image () eingefügt werden sollen, sonst würden sie nicht wirksam werden. <\/p>\n
Jede Form kann für die Captcha ausgew?hlt werden. Wir w?hlen ein Rechteck mit der von Funktionsage gefüllten Funktion () aus. Es dauert fünf Argumente-Bildreferenz, Start X-Pos, Start von Y-Pos, Ende X-Pos, enden Y-Pos und die Hintergrundfarbe. Sie k?nnen die entsprechende Funktion für eine Ellipse zur Erzeugung von elliptischen Captcha verwenden. <\/p>\n
Die Funktion von ImageColorAlleCocce () verteilt eine Farbe einer Variablen, da sie die RGB -Kombination der Farbe als Argumente nimmt. Der folgende Code ist in der Funktion create () hinzugefügt. <\/p>\n
<\/span>session_start();\n<\/span><\/span>?><\/span>\n<\/span>\n ><\/span>demo.php<\/title<\/span>><\/span>\n<\/span>
国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂
style=\"background-color:#ddd; <\/span>\"<\/span><\/span>><\/span>\n<\/span>\n <\/span> create_image();\n<\/span><\/span> display();\n<\/span><\/span> \/***** definition of functions *****\/\n<\/span><\/span> function display()\n<\/span><\/span> {\n<\/span><\/span> ?><\/span>\n<\/span>\n style=\"text-align:center;<\/span>\"<\/span><\/span>><\/span>\n<\/span> ><\/span>TYPE THE TEXT YOU SEE IN THE IMAGE<\/h3<\/span>><\/span>\n<\/span> ><\/span>This is just to check if you are a robot<\/b<\/span>><\/span>\n<\/span>\n style=\"display:block;margin-bottom:20px;margin-top:20px;<\/span>\"<\/span><\/span>><\/span>\n<\/span>
src=\"image.png\"<\/span>><\/span>\n<\/span> <\/div<\/span>><\/span>\n<\/span> \/\/div1 ends\n <\/div<\/span>><\/span> \/\/div2 ends\n<\/span>\n <\/span> }\n<\/span><\/span>\n<\/span> function create_image()\n<\/span><\/span> {\n<\/span><\/span> $image = imagecreatetruecolor(200, 50);\n<\/span><\/span> imagepng($image, \"image.png\");\n<\/span><\/span> }\n<\/span><\/span>\n<\/span> ?><\/span>\n<\/span> <\/body<\/span>><\/span>\n<\/span><\/span>?><\/span><\/span><\/pre>\n Das vorherige Bild ist nach diesem Schritt wei?. <\/p>\n
<\/p>\n
erzeugen zuf?llige Zeilen. <\/h3>\n
Jetzt beginnen wir tats?chlich damit, den Verzerrungsteil des Captcha zu machen. In PHP werden die Linien vom Startpunkt (x1, y1) bis zum Endpunkt (x2, y2) erzeugt. Wenn wir m?chten, dass unsere Linien beide Enden der Box berühren, werden wir die Koordinaten als beibehalten, d. H. Die vollst?ndige Breite unserer Box. Die Koordinaten werden zuf?llig generiert. Dies erzeugt nur eine zuf?llige Zeile. Wir werden mehrere Zeilen erzeugen, indem wir diese Funktionalit?t in eine für die Schleife einfügen. <\/y1><\/x1><\/p>\n$background_color = imagecolorallocate($image, 255, 255, 255); \n<\/span>imagefilledrectangle($image,0,0,200,50,$background_color);<\/span><\/pre>\n Die Funktion \"ImageLine () nimmt in dieser Reihenfolge die Koordinaten X1, X2, Y1, Y2 als Argumente ab, abgesehen von der Bildreferenz und Farbe der Linie. Die Linienfarbe wurde genauso zugewiesen, als die Hintergrundfarbe im vorherigen Schritt zugewiesen wurde. <\/p>\n
Das y-Koordinate wird als Rand ()*P angegeben, da dies die H?he unserer Box ist und immer einen Wert unter 50 zurückgibt. Sie k?nnen alternativ Rand (0,50) verwenden. Sie ergeben den gleichen Ausgangsbereich. <\/p>\n
<\/p>\n\n
erzeugen zuf?llige Punkte. <\/h3>\n
zuf?llige Punkte werden genauso generiert wie zuf?llige Zeilen. Die verwendete Funktion ist Imagesetpixel (). Diese Funktion nimmt den Wert der Koordinaten auf, bei denen der Punkt in die Box platziert wird. <\/p>\n
$line_color = imagecolorallocate($image, 64,64,64); \n<\/span>for($i=0;$i<10;$i++) {\n<\/span> imageline($image,0,rand()%50,200,rand()%50,$line_color);\n<\/span>}<\/span><\/pre>\n Das X-Koordinate wird zuf?llig mit Rand ()* 0 generiert, da dies die Breite unserer Box ist und dies immer einen Wert unter 200 zurückgibt. Sie k?nnen alternativ Rand (0.200) verwenden. Sie ergeben den gleichen Ausgangsbereich. Die Y -Koordinate wird wie in den Zeilen Schritt erzeugt. <\/p>\n
<\/p>\n
Generieren Sie zuf?lligen Text <\/h3>\n
Wir verweisen zuf?llig auf eine Position in der Zeichenfolge (die das Alphabet sowohl im unteren als auch im oberen Fall enth?lt) und weisen die Variable $ bild <\/p> zu\n
<\/span>session_start();\n<\/span><\/span>?><\/span>\n<\/span>\n ><\/span>demo.php<\/title<\/span>><\/span>\n<\/span> style=\"background-color:#ddd; <\/span>\"<\/span><\/span>><\/span>\n<\/span>\n <\/span> create_image();\n<\/span><\/span> display();\n<\/span><\/span> \/***** definition of functions *****\/\n<\/span><\/span> function display()\n<\/span><\/span> {\n<\/span><\/span> ?><\/span>\n<\/span>\n style=\"text-align:center;<\/span>\"<\/span><\/span>><\/span>\n<\/span> ><\/span>TYPE THE TEXT YOU SEE IN THE IMAGE<\/h3<\/span>><\/span>\n<\/span> ><\/span>This is just to check if you are a robot<\/b<\/span>><\/span>\n<\/span>\n style=\"display:block;margin-bottom:20px;margin-top:20px;<\/span>\"<\/span><\/span>><\/span>\n<\/span>
src=\"image.png\"<\/span>><\/span>\n<\/span> <\/div<\/span>><\/span>\n<\/span> \/\/div1 ends\n <\/div<\/span>><\/span> \/\/div2 ends\n<\/span>\n <\/span>