ホームページ > バックエンド開発 > PHPチュートリアル > PHPのcanvasについて詳しく解説

PHPのcanvasについて詳しく解説

小云云
リリース: 2023-03-22 13:10:01
オリジナル
5289 人が閲覧しました

この記事では主に、PHP の Canvas と PHP の画像処理技術 GD について詳しく説明します。お役に立てれば幸いです。

新規キャンバスの作成--リソースデータ(画像リソースを操作可能)

ImageCreate(キャンバス幅、キャンバス高さ); パレットに基づいてキャンバスを作成します。

ImageCreateTrueColor(canvas width, Canvas height); トゥルーカラーキャンバスを作成します。

画像に基づいてキャンバスを作成する

ImageCreateFromFPG (画像アドレス); ImageCreateFromPNG (画像アドレス)

キャンバスを操作する

色をキャンバスに割り当てる必要があります。まず。

から
'' '' '' '' s '' '' '' '' '' '' '' '' '' s's rise 's' s 's' '' '' 'イラスト付き' my my my my I I I I--'''''''''''' 塗りつぶすときの位置 y、色の識別)、連続した塗りつぶし点と同じ色の塗りつぶし点。フォントは組み込みフォントであり、サイズは 1 から 5 まであります。

文字色は前回の色を割り当てる際に書かれる変数です。布 開いているキャンバスのサイズ:


ImagesX (キャンバスリソース);

ImageSY (キャンバスリソース);


組み込みフォントのサイズを取得します:



ImageFontHeight (フォント番号);

キャンバスを出力

1.画像ファイルに出力します。


2. ページに直接出力します。


ImagePNG (キャンバス リソース [, ファイル アドレス]);



ImageJPEG (キャンバス リソース [, ファイル アドレス]);

ImageGIF (キャンバス リソース) [, ファイルアドレス]);


例: 検証コード


<?php
header(&#39;Content-Type:image/jpg&#39;);
$chars=&#39;ABCDEFGHIJKLMNPQRSTUVWXYZ123456789&#39;;
$chars_length=strlen($chars);
$code_length=4;
$code=&#39;&#39;;
for($i=0;$i<$code_length;$i++){
	$rand_index=mt_rand(0,$chars_length-1);
	$code.=$chars[$rand_index];
}

//存储于session,用于验证。
session_start();
$_SESSION[&#39;captcha_code&#39;]=$code;


//背景图。
$bg_file=&#39;./captcha/captcha_bg&#39;.mt_rand(1,5).&#39;.jpg&#39;;
$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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート