コードをコピー コードは次のとおりです:
public function captcha(){
$font_dir = $_SERVER ["DOCUMENT_ROOT"] . "your_ttf_file.ttf"; // フォント ライブラリ
$img_w = 58; // 画像の高さを設定します。 $font_size = 11; // フォント サイズ
$angle_l = -10; // 左偏角
$angle_r = 10; // 右偏角
$code_str = "ABCDEFGHJKLMNPQRSTUVWXYZ36"; word_len = 4; // 検証コードの桁数
$padding = 5 // 各 2 つの単語間のスペース
$base_line = 15; Position
$base_line_offset = 2; // ベースライン オフセット
$pixel_num = 3; // ノイズ ポイントのベース番号
$pixel_color= 8; // ノイズ ポイントの色は $pixel_color のみです。ノイズ ポイントの数は $pixel_num*$pixel_color
$noise_font_size = 1; // ノイズ フォント サイズ
$session_key= "my.xoyo_captcha" // カスタム セッション キー名
header("キャッシュ制御 : no-cache、must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("キャッシュ制御: プライベート");
header('Content-Type: image/png');
$word = ""; 🎜>$ code_str_len = strlen($code_str) - 1;
for ($i = 0; $i $word.= $code_str[rand(0, $code_str_len) )];
}
$_SESSION [$session_key] = strto lower($word);
$image = imagecreatetruecolor($img_w, $img_h); $img_w - 1, $img_h - 1, imagecolorallocate($image, mt_rand(235, 255), mt_rand(235, 255), mt_rand(235, 255))); >for ($i = 0; $i $noise_color = imagecolorallocate( $image, mt_rand(150,225), mt_rand(150,225), mt_rand(150,225) ); ($ j = 0; $j imagestring( $image, $noise_font_size, mt_rand(-10, $img_w), mt_rand(-10, $img_h), $code_str[mt_rand (0 , $code_str_len)], $noise_color );
}
}
//テキストを描画します
for ($i = 0; $i < $word_len; $i) {
$color = imagecolorallocate($image, mt_rand(0, 100), mt_rand(20, 120), mt_rand(50, 150)); $angle_r ), $margin, mt_rand($base_line-$base_line_offset, $base_line $base_line_offset), $color, $font, mb_substr($word, $i, 1, 'utf-8')); = (imagefontwidth($font_size) $padding);
imagepng($image)
}