この記事では主に、PHP の Canvas と PHP の画像処理技術 GD について詳しく説明します。お役に立てれば幸いです。
ImageCreate(キャンバス幅、キャンバス高さ); パレットに基づいてキャンバスを作成します。
ImageCreateTrueColor(canvas width, Canvas height); トゥルーカラーキャンバスを作成します。
ImageCreateFromFPG (画像アドレス); ImageCreateFromPNG (画像アドレス)
キャンバスを操作する
文字色は前回の色を割り当てる際に書かれる変数です。布 開いているキャンバスのサイズ:
ImagesX (キャンバスリソース);
組み込みフォントのサイズを取得します:
。
ImageFontHeight (フォント番号);
キャンバスを出力
1.画像ファイルに出力します。
ImagePNG (キャンバス リソース [, ファイル アドレス]);
ImageJPEG (キャンバス リソース [, ファイル アドレス]);
ImageGIF (キャンバス リソース) [, ファイルアドレス]);例: 検証コード
<?php
header('Content-Type:image/jpg');
$chars='ABCDEFGHIJKLMNPQRSTUVWXYZ123456789';
$chars_length=strlen($chars);
$code_length=4;
$code='';
for($i=0;$i<$code_length;$i++){
$rand_index=mt_rand(0,$chars_length-1);
$code.=$chars[$rand_index];
}
//存储于session,用于验证。
session_start();
$_SESSION['captcha_code']=$code;
//背景图。
$bg_file='./captcha/captcha_bg'.mt_rand(1,5).'.jpg';
$img=ImageCreateFromJPEG($bg_file);
//随机分发颜色
$chars_color=mt_rand(1,2)==1?imagecolorallocate($img,0,0,0):imagecolorallocate($img,255,255,255);
//将字符串写到画布上。
$img_width=ImageSX($img);
$img_height=ImageSY($img);
$font_width=ImageFontWidth(5)*4;
$font_height=ImageFontHeight(5);
$code_width=($img_width-$font_width)/2;
$code_height=($img_height-$font_height)/2;
ImageString($img,5,$code_width,$code_height,$code,$chars_color);
ImageJPEG($img);
以上がPHPのcanvasについて詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。