PHP creation d'une image genre captcha
par
, 15/10/2016 à 22h00 (545 Affichages)
Bonjour,
Je tente de créer un captcha pas trop nul ni trop compliqué, mais je bloque sur un point.
Je souhaite voir mon texte positionné au centre de l'image et un peu plus grand, et je patauge toujours.
Si vous avez une idée à la fois simple et efficace, je suis preneur.
Voici le code de cette image :
<?php
session_start();
header('Content-Type: image/png');
$largeur=150;//largeur de l'image
$hauteur=40;//hauteur de l'image
$lignes=10;//nombre de lignes multicolore qui seront affichées avec le code
$caracteres="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789";//type de caractère du code qui sera affiché dans l'image
$image = imagecreatetruecolor($largeur, $hauteur);
imagefilledrectangle($image, 0, 0, $largeur, $hauteur, imagecolorallocate($image, 0xC0, 0xC0, 0xC0));
function hexargb($hex)
{
return array("r"=>hexdec(substr($hex,0,2)),"g"=>hexdec(substr($hex,2,2)),"b"=>hexdec(substr($hex,4,2)));
}
for($i=0;$i<=$lignes;$i++){
$rgb=hexargb(substr(str_shuffle("ABCDEF0123456789"),0,6));
imageline($image,rand(1,$largeur-25),rand(1,$hauteur),rand(1,$largeur+25),rand(1,$hauteur),
imagecolorallocate($image, $rgb['r'], $rgb['g'], $rgb['b']));
}
$code1=substr(str_shuffle($caracteres),0,6);
$_SESSION['code']=$code1;
$code="";
for($i=0;$i<=strlen($code1);$i++){
$code .=substr($code1,$i,1)." ";
}
imagestring($image, 5, 10, 12, $code, imagecolorallocate($image, 0, 0, 0));
imagepng($image);
imagedestroy($image);
?>
Merci de votre aide.
Brunoimage-captcha.php