レンダリング:
コードをコピー コードは次のとおりです:
/* *
* vCode(m,n,x,y) m 個の数値、表示サイズは n、横幅 x、横高さ y
* micxp
*jb51.net
*/
session_start();
vCode(4, 15); //4 個の数値、表示サイズは 15
function vCode($num = 4, $size) = 20, $width = 0, $height = 0) {
!$width && $width = $num * $size * 4 / 5 5;
!$height && $height = $size 10; 🎜 > // 0 1 O l などを削除
$str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVW";
$code = ''; $i = 0; $i < $num; $i ) {
$code .= $str[mt_rand(0, strlen($str)-1)];
}
// 画像を描画します
$im = imagecreatetruecolor($width, $height) );
// 使用する色を定義します
$back_color = imagecolorallocate($im, 235, 236, 237);
$boer_color = imagecolorallocate($im, 118, 151, 199); 🎜> $text_color = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120));
// 背景を描画
imagefilledrectangle($im, 0, 0) , $ width, $height, $back_color);
// 境界線を描画します
imagerectangle($im, 0, 0, $width-1, $height-1, $boer_color);干渉線を描画します
for($i = 0;$i <5;$i ) {
$font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand (0, 255 ));
imagearc($im, mt_rand(- $width, $width), mt_rand(- $height, $height), mt_rand(30, $width * 2), mt_rand(20, $高さ * 2) 、mt_rand(0, 360)、mt_rand(0, 360)、$font_color); {
$font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand (0, 255));
imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $font_color);
}
// 検証コードを描画します
@imagefttext($im, $size, 0, 5, $size 3, $text_color, 'c: \WINDOWS\Fonts\simsun.ttc', $code);
$_SESSION["VerifyCode"]=$code ;
header("キャッシュ制御: max-age=1、s-maxage=1、キャッシュなし、必須再検証");
header("Content-type: image/png;charset=gb2312) ");
imagepng($im);
imagedestroy($im);
}
?>