La première ligne indique le début de la session de l'utilisateur sur notre page. <\/p>\n
La fonction affiche () n'a rien d'autre qu'un code HTML normal qui affiche une image dans le navigateur. En dehors de cela, seul le style est effectué pour que la sortie soit présentable. <\/p>\n
à l'intérieur de la fonction create_image (), une variable est utilisée pour référer l'image renvoyée par la fonction ImageCreateTrueColor () qui prend la largeur et la longueur de l'image comme arguments. ImagePng () crée une image PNG du nom et du chemin spécifié (dans le même répertoire). <\/p>\n
Une image noire sera la sortie après notre première étape. <\/p>\n
<\/p>\n
Notez que la fonction ImagePng () sera la dernière ligne de notre fonction et toutes les étapes suivantes doivent être insérées dans la fonction create_image () avant cet appel de fonction, sinon ils ne prendraient pas effet. <\/p>\n
Toute forme peut être choisie pour le captcha. Nous choisirons un rectangle en utilisant la fonction ImageFildRectangle (). Il faut cinq arguments - référence d'image, démarrage X-POS, démarrer Y-POS, terminer X-POS, terminer Y-POS et la couleur d'arrière-plan. Vous pouvez utiliser la fonction correspondante pour une ellipse pour générer un captcha elliptique. <\/p>\n
La fonction ImageColorAllocate () alloue une couleur à une variable car elle prend la combinaison RVB de la couleur comme arguments. Le code suivant doit être ajouté dans la fonction Create (). <\/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 L'image précédente sera blanche après cette étape. <\/p>\n
<\/p>\n
générer des lignes aléatoires. <\/h3>\n
Maintenant, nous commen?ons par faire la partie de la distorsion du captcha. En PHP, les lignes sont générées à partir du point de départ (x1, y1) au point final (x2, y2). Maintenant, comme nous voulons que nos lignes touchent les deux extrémités de la bo?te, nous garderons les coordonnées comme c'est-à-dire la largeur complète de notre bo?te. Les coordonnées seront générées au hasard. Cela ne créera qu'une seule ligne aléatoire. Nous générerons plusieurs lignes en mettant cette fonctionnalité à l'intérieur d'une boucle pour une boucle. <\/y1><\/x1><\/p>\n$background_color = imagecolorallocate($image, 255, 255, 255); \n<\/span>imagefilledrectangle($image,0,0,200,50,$background_color);<\/span><\/pre>\n La fonction Imageline () prend les coordonnées X1, X2, Y1, Y2 comme arguments dans cet ordre en dehors de la référence d'image et de la couleur de la ligne. La couleur de la ligne a été allouée juste au moment où la couleur d'arrière-plan avait été allouée à l'étape précédente. <\/p>\n
La coordonnée y est donnée comme rand () * p car c'est la hauteur de notre bo?te et renvoie toujours une valeur inférieure à 50. Vous pouvez également utiliser Rand (0,50). Ils produiront la même plage de sortie. <\/p>\n
<\/p>\n\n
générer des points aléatoires. <\/h3>\n
Des points aléatoires seront générés de la même manière que les lignes aléatoires. La fonction utilisée est imagessetPixel (). Cette fonction prend la valeur des coordonnées où le point sera placé dans la bo?te. <\/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 La coordonnée x est générée de manière aléatoire en utilisant Rand () * 0 car il s'agit de la largeur de notre bo?te et cela renverra toujours une valeur inférieure à 200. Vous pouvez également utiliser Rand (0 200). Ils produiront la même plage de sortie. La coordonnée y est générée comme dans l'étape des lignes. <\/p>\n
<\/p>\n
générer du texte aléatoire <\/h3>\n
Nous pointerons au hasard vers une position dans la cha?ne (qui contient l'alphabet en bas et en haut) et l'attribuer à la variable $ Letter <\/p>\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>