PHPキャンバス
2683 ワード
ヘッド指令 header('content-type:image/png') header('Content-Type:image/gif'); header('Content-Type:image/jpeg');
キャンバスの作成
resource imagecreatetruecolor(int$width,int$height)-真のカラー画像を新規作成
widthとheightのサイズの黒い画像の戻り値を表す画像識別子を返します.成功したら画像リソースに戻り、失敗したらfalseに戻ります.
出力画像
bool imagepng(resource$image[,string$filename])-png形式でブラウザまたはファイルに画像を出力します.
GDイメージストリーム(image)をPNG形式で標準出力(通常はブラウザ)に出力するか、filenameでファイル名が与えられたら出力する
カラー管理
int imagecorolallocate(resource$image,int$red,int$green,int$blue)-1枚の絵の画像に色を割り当てる
red green blueはそれぞれ必要な色の赤緑青成分であり、これらのパラメータは0から225の整数または16進数の0 x 00から0 xFFである.
キャンバスを塗りつぶす
bool imagefill ( resource $image , int $x , int $y , int $color )
イメージ画像の座標x,y(画像左上隅0,0)においてcolor色で領域埋め込みを行う(すなわちx,y点と同じ色で隣接する点が埋められる)
画像を破棄
bool imagedestroy(resource$image)-imageに関連付けられたメモリを解放します.
グラフィックの描画
ポイント:
bool imagestpixel(resource$image,int$x,int$y,int$color)単一画素を描く
イメージ画像にcolor色でx,y座標(画像左上角0,0)に点を描きます
線:
bool imageline( resource $image , int $x1,int $y1 ,int $x2,int $y2,int $color)
座標x 1,y 1からx 2,y 2(画像左上隅0,0)からカラーで線分を描く
長方形を描くには2つの方法があります
1つ目:
bool imagerectangle(resource $image,int $x1,int $y1,int $x2,int $col)
カラーでイメージ画像に矩形を描き、左上隅座標がx 1、y 1、右下隅座標がx 2、y 2です.画像の左上隅座標は0,0
2つ目は、色が塗りつぶされた長方形です.
bool imagefilledrectangle(resource $image,int $x1,int $y1,int $x2,int $y2,int $color)
イメージ画像にcolor色で塗りつぶされた矩形を描き、左上隅座標をx 1、y 1、右下隅座標をx 2、y 2とします.0,0は画像の左上隅です
テキストの描画
array imagettftext(resource $image,float $size ,float $angle ,int $x ,int $y,int $color,string $fontfile ,string $text)
size:フォントのサイズ、GDのバージョンによると、ピクセルサイズ(GD 1)またはポイント(ポンド)サイズ(GD 2)angle:角度で表される角度、0度は左から右へ読むテキスト.より高い数値は反時計回りの回転を表す.x,yで表される座標は、最初の文字の基本点を定義する(文字の左下くらい)color:カラーインデックスfontfile:使用したいTrue Typeフォントのパスtext:UTF-8符号化テキスト文字列
キャンバスの作成
resource imagecreatetruecolor(int$width,int$height)-真のカラー画像を新規作成
widthとheightのサイズの黒い画像の戻り値を表す画像識別子を返します.成功したら画像リソースに戻り、失敗したらfalseに戻ります.
//
$width = 200;
$height =80;
$img =imagecreatetruecolor($width,$height);
出力画像
bool imagepng(resource$image[,string$filename])-png形式でブラウザまたはファイルに画像を出力します.
GDイメージストリーム(image)をPNG形式で標準出力(通常はブラウザ)に出力するか、filenameでファイル名が与えられたら出力する
//
imagepng($img);
カラー管理
int imagecorolallocate(resource$image,int$red,int$green,int$blue)-1枚の絵の画像に色を割り当てる
red green blueはそれぞれ必要な色の赤緑青成分であり、これらのパラメータは0から225の整数または16進数の0 x 00から0 xFFである.
//
$color =imagecolorallocate($img,0xcc,0xcc,0xcc);//
キャンバスを塗りつぶす
bool imagefill ( resource $image , int $x , int $y , int $color )
イメージ画像の座標x,y(画像左上隅0,0)においてcolor色で領域埋め込みを行う(すなわちx,y点と同じ色で隣接する点が埋められる)
//
imagefill($img,0,0,$color);
画像を破棄
bool imagedestroy(resource$image)-imageに関連付けられたメモリを解放します.
//
imagedestroy($img);
グラフィックの描画
ポイント:
bool imagestpixel(resource$image,int$x,int$y,int$color)単一画素を描く
イメージ画像にcolor色でx,y座標(画像左上角0,0)に点を描きます
//
imagesetpixel($img,$x,$y,$color);
線:
bool imageline( resource $image , int $x1,int $y1 ,int $x2,int $y2,int $color)
座標x 1,y 1からx 2,y 2(画像左上隅0,0)からカラーで線分を描く
//
imageline($img,$x1,$y1,$x2,$y2,$color);
長方形を描くには2つの方法があります
1つ目:
bool imagerectangle(resource $image,int $x1,int $y1,int $x2,int $col)
カラーでイメージ画像に矩形を描き、左上隅座標がx 1、y 1、右下隅座標がx 2、y 2です.画像の左上隅座標は0,0
2つ目は、色が塗りつぶされた長方形です.
bool imagefilledrectangle(resource $image,int $x1,int $y1,int $x2,int $y2,int $color)
イメージ画像にcolor色で塗りつぶされた矩形を描き、左上隅座標をx 1、y 1、右下隅座標をx 2、y 2とします.0,0は画像の左上隅です
テキストの描画
array imagettftext(resource $image,float $size ,float $angle ,int $x ,int $y,int $color,string $fontfile ,string $text)
size:フォントのサイズ、GDのバージョンによると、ピクセルサイズ(GD 1)またはポイント(ポンド)サイズ(GD 2)angle:角度で表される角度、0度は左から右へ読むテキスト.より高い数値は反時計回りの回転を表す.x,yで表される座標は、最初の文字の基本点を定義する(文字の左下くらい)color:カラーインデックスfontfile:使用したいTrue Typeフォントのパスtext:UTF-8符号化テキスト文字列
//
$color = imagecolorallocate($img,255,0,0);
$index = rand(0,$len-1);
$chr = substr($str,$index,1);
$yzm .= $chr;
$x = 20 +$i*40;
$y = 60;
imagettftext($img,50,rand(-70,70),$x,$y,$color,$font,$chr);