PHPで画像を描画するためのいくつかの関数、PHP画像描画関数のまとめ
PHP には、点、線、さまざまな幾何学図形、その他の考えられる平面グラフィックスなど、画像を描画するための関数が多数あり、これらはすべて PHP が提供するさまざまな描画関数を通じて完成させることができます。ここではよく使われるイメージ描画を紹介しますので、紹介していない機能を使用する場合はマニュアルを参照して実装してください。さらに、これらのグラフィックス描画関数は、キャンバス リソースを使用し、キャンバス内の位置の座標を渡す必要があります (原点は、キャンバスの左上隅の開始位置であり、ピクセル単位で、正の方向に沿って右に伸びます)。 X軸、Y軸の正の方向(下に伸びる方向)、各グラフの色も関数の最後のパラメータで設定できます。キャンバス内の座標系は次のようになります。
1. 関数グラフィック領域の塗りつぶしimageFill()
PHP でエッジだけの幾何学図形を描画するだけでは十分ではなく、対応する塗りつぶし関数を使用してグラフィックス領域の塗りつぶしを完了することもできます。各グラフィックに対応する塗りつぶし関数があることに加えて、imageFill() 関数を使用して領域塗りつぶしを実装することもできます。この関数の構文形式は次のとおりです:
コードをコピーします コードは次のとおりです:
bool imagefill(resource $image,int $x,int $y,int $color) //領域の塗りつぶし
この関数は、パラメータ $image で表される画像上の、座標 ($x, $y) からの領域を、パラメータ $color で指定された色で塗りつぶします。画像の左上隅の座標 (0,0) を基準にします。画像。同じ色で隣接する座標 ($x、$y) の点が塗りつぶされます。たとえば、次の例では、キャンバスの背景が赤に設定されています。コードは次のようになります:
コードをコピーします コードは次のとおりです:
$im = imagecreatetruecolor(100, 100) //サイズ100*100のキャンバスを作成します
;
$red = imagecolorallocate($im, 255, 0, 0) //カラー変数を赤に設定します
;
imagefill($im, 0, 0, $red); // 背景を赤に設定します
header('Content-type:image/png'); //これがテキストではなく画像であることをブラウザに通知します
imagepng($im); //PNG形式で画像を生成し、ブラウザに出力します
imagedestroy($im); //画像リソースを破棄し、キャンバスが占有しているメモリ空間を解放します
?>
2. 点と線を描画します imageSetPixel()、imageline()
点と線の描画は、画像を描画する際の最も基本的な操作です。柔軟に使用すると、刻々と変化する画像を描画できます。 PHP では、imageSetPixel() 関数を使用してキャンバスに単一のピクセル ポイントを描画し、そのポイントの色を設定できます。その関数のプロトタイプは次のとおりです:
コードをコピーします コードは次のとおりです:
bool imagesetpixel(resource $image,int $x,int $y,int $color) //単一ピクセルを描画します
この関数は、最初のパラメータ $image で指定されたキャンバス上の、ドットからそれぞれ $x と $y の座標位置に、色 $color のピクセルを描画します。理論的には、点描画機能を使用して必要なグラフィックスをすべて描画できます。また、他の描画機能も使用できます。線分を描画する必要がある場合は、imageline() 関数を使用できます。その構文形式は次のとおりです:
コードをコピーします コードは次のとおりです:
bool imageline(resource $image,int $x1,int $y1,int $x2,int $y2,int $color) //線分を描画します
2 つの点が線分を決定することは誰もが知っているので、この関数は $color カラーを使用して、画像 $image 内に座標 ($x1, $y1) から始まり座標 ($x2, $y1) で終わる線分を描画します。 $y2)。
3. 長方形 imageRectangle()、imageFilledRectangle() を描画します
imageRectangle() 関数を使用して四角形を描画することも、imageFilledRectangle() 関数を使用して四角形を描画して塗りつぶすこともできます。これら 2 つの関数の構文形式は次のとおりです:
コードをコピーします コードは次のとおりです:
bool imagerectangle(resource $image,int $x1, int $y1,int $x2,int $y2,int $color) //四角形を描画します
bool imagefilledrectangle(resource image,int $x1,int $y1,int $x2,int $y2,int $color) //長方形を描いて塗りつぶします
これら 2 つの関数の動作は似ていますが、前者は $color パラメーターを使用して四角形のエッジの色を指定し、後者はこの色を使用して四角形を塗りつぶします。画像の左上隅の (0,0) 位置を基準として、長方形の左上隅の座標は ($x1,$y1)、右下隅の座標は ($x2,$) です。 y2)。
4. ポリゴンを描画します imagePolygon()、imagefilledpolygon()
imagePolygon() 関数を使用して多角形を描画することも、imageFilledPolygon() 関数を使用して多角形を描画して塗りつぶすこともできます。これら 2 つの関数の構文形式は次のとおりです:
コードをコピーします コードは次のとおりです:
bool imagepolygon(resource $image,array $points,int $num_points,int $color) //多角形を描画します
bool imagefilledpolygon(resource $image,array $points,int $num_points,int $color) //多角形を描画して塗りつぶします
これら 2 つの関数の動作は似ていますが、前者は $color パラメータを使用して多角形のエッジの色を指定し、後者はこの色を使用して多角形を塗りつぶします。 2 番目のパラメーター $points は、多角形の各頂点の座標を含む PHP 配列です。つまり、points[0]=x0、points[1]=y0、points[2]=x1、points[3]=y1 などとなります。 3 番目のパラメーター $num_points は頂点の合計数で、3 より大きくなければなりません。
5. 楕円を描くimageEllipse()、imageFilledElipse()
imageEllipse() 関数を使用して楕円を描画することも、imageFilledEllipse() 関数を使用して楕円を描画して塗りつぶすこともできます。これら 2 つの関数の構文形式は次のとおりです:
コードをコピーします コードは次のとおりです:
bool imageellipse(resource $image,int $cx,int $cy,int $w,int $h,int $color) //楕円を描画します
bool imagefilledellipse(resource $image,int $cx,int $cy,int $w,int $h,int $color) //塗りつぶされた楕円を描画します
これら 2 つの関数は同様に動作し、どちらも $image 画像に楕円を描画します。ただし、前者は $color パラメーターを使用して楕円のエッジの色を指定し、後者は $color パラメーターを使用して色を塗りつぶします。キャンバスの左上隅の座標 (0,0) を基準に、($cx, $cy) 座標を中心とした楕円を描画します。パラメータ $w と $h は楕円の幅と高さを指定します。それぞれ。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
6. 円弧imageArc()を描く
先ほど紹介した3Dファンチャートの例は、塗りつぶされた円弧を描画する機能を使用して実装されています。 imageArc() 関数を使用すると、円や楕円だけでなく円弧も描くことができます。この関数の構文形式は次のとおりです:
コードをコピーします コードは次のとおりです:
bool imagearc(resource $image,int $cx,int $cy,int $w,int $h,int $s,int $e,int $color) //楕円弧を描く
この関数は、キャンバスの左上隅の座標 (0,0) を基準として、($cx, $cy) 座標を中心として、$image で表される画像内に楕円弧を描きます。パラメータ $w と $h はそれぞれ楕円の幅と高さを指定し、開始点と終了点は $s パラメータと $e パラメータで角度で指定します。 0°は3時の位置で、時計回りにペイントします。完全な円を描きたい場合は、まずパラメータ $w と $h を同じ値に設定し、次に開始角度 $s を 0 に設定し、終了角度 $e を 360 に指定します。塗りつぶされた円弧を描く必要がある場合は、 , imageFilledArc() 関数をクエリして使用できます。
http://www.bkjia.com/PHPjc/914046.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/914046.html技術記事 PHP で画像を描画するためのいくつかの関数のまとめ PHP の画像描画関数は、点、線、さまざまな幾何学的図形、その他の想像可能な平面図形を含む、PHP で画像を描画するための関数が非常に豊富です。