ホームページ  >  記事  >  バックエンド開発  >  GD2 関数を使用して幾何学的図形を描画する (PHP グラフィックス イメージの典型的なアプリケーション チュートリアル 4)

GD2 関数を使用して幾何学的図形を描画する (PHP グラフィックス イメージの典型的なアプリケーション チュートリアル 4)

黄舟
黄舟オリジナル
2017-04-24 17:25:372103ブラウズ

GD2 関数を使用して幾何学的図形を描画する (PHP グラフィックスとイメージの典型的なアプリケーション チュートリアル 4)

この記事では、主に GD2 関数を使用して幾何学的図形を描画する方法について説明します。 まず、画像を作成する必要があります。前回の記事で述べたように、画像の作成はすべての画像操作の最初のステップであり、次に背景の座標点に基づいてグラフィックの輪郭を描画し、最後にグラフィックを出力します。

それでは、前回の記事「画像処理技術を使って検証コードを生成する(PHPグラフィックスと画像の典型的なアプリケーションチュートリアル3)」で検証コードを生成する方法を紹介しましたが、私の友人はこの知識を習得できたでしょうか。よく知らない人も復習してみてください!今回は幾何学図形の描き方について解説していきます!

この記事の技術的なポイント:

この記事では、GD2 関数は主に幾何学的図形を描画するために使用されます。いくつかの関数は以前の記事で詳しく紹介されています。以下に、よく使用される関数を紹介します。

(1) imagecreatetruecolor() 関数

この関数は、フルカラー画像ファイル リソースを提案するために使用されます。この関数の構文形式は次のとおりです:

int imagecreatetruecolor(int x_size,int y_size);

パラメーター x_size と y_size は幅と高さです。それぞれの画像のピクセル (px) 単位。

(2)imagecolorallocate() 関数

この関数は、他の描画関数で使用するために指定された画像の色を一致させるために使用されます。構文形式は次のとおりです。

int imagecolorallocate(int im, int red, int green, int blue);

パラメーター im は、画像; パラメータの赤、緑、青は RGB の三原色で、その値は 0 ~ 255 の整数、または 16 進数で 0x00 ~ 0xff です。この関数は、image で表されるイメージで使用される各色を作成するために呼び出す必要があります。

(3)imagefilledarc()関数

この関数は、楕円を描いて塗りつぶすために使用されます。この関数の構文形式は次のとおりです。

int imagefilledarc(im, int cx , int w, int h, int s, int e, int color, int style);

im、cx、cyで表される画像では(画像の左上隅が 0 , 0) 円の中心となる楕円弧を描きます。成功した場合は true、失敗した場合は false を返します。 w と h はそれぞれ楕円の幅と高さを指定し、s と e パラメータは角度で開始点と終了点を指定し、color は塗りつぶしの色の値を表します。

style は、次の値のビット単位の OR (OR) です:

  • IMG_ARC_PIE

  • IMG_ARC_CHORD

  • IMG_ARC_NOFILL

  • IMG_ARC_EDGED

IMG_ARC_PIE と IMG_ARC_CHORD は相互に排他的です。接続するだけです。始点と終点を直線で指定すると、IMG_ARC_PIE は円形の境界を生成します (両方を使用した場合は、IMG_ARC_CHORD が有効になります)。 IMG_ARC_NOFILL は、円弧または弦に塗りつぶしではなく輪郭のみが含まれることを指定します。 IMG_ARC_EDGED は、開始点と終了点を中心点に接続する直線を指定します。IMG_ARC_NOFILL とともに使用すると、円グラフの輪郭を (塗りつぶさずに) 描画するのに適した方法になります。

(4)imagefilledrectangle()関数

この関数は、塗りつぶされた四角形を描画するために使用されます。この関数の構文形式は次のとおりです:

bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int$color )

この関数は、画像の閉じた長方形の領域に色を付けます。 x1, y1 と x2 , y2 はそれぞれ長方形の対角線の座標であり、パラメーターcol はペイントされる色を表します

(5) imagedestroy() 関数

この関数はグラフィックを削除するために使用されます。構文形式は次のとおりです:

int imagedestroy(int im);

パラメータ im は imagecreate() 関数、および imagecreatetruecolor() 関数によって作成されたイメージです。

それでは、幾何学図形の描画方法を見てみましょう:

実装プロセスの具体的なコードは次のとおりです:

<?php
header(&#39;Content-type: image/png&#39;);// 告诉浏览器,这个文件,是一个png图片
$img = imagecreatetruecolor(260, 200);//创建一个400X200的画布
$green = imagecolorallocate($img, 20, 145, 40);//定义一个绿颜色
$darkgreen = imagecolorallocate($img, 25, 80, 25);//定义一个深绿颜色
$blue = imagecolorallocate($img, 0, 225, 205);//定义一个蓝颜色
$darkblue = imagecolorallocate($img, 10, 180, 200);//定义一个深蓝颜色
$red = imagecolorallocate($img, 255, 0, 0);//定义一个红颜色
$bluered = imagecolorallocate($img, 202, 10, 0);//定义一个深红颜色
for($i = 110; $i > 100 ; $i--){
    imagefilledarc($img,130,$i,150,100,0,95,$darkgreen,IMG_ARC_PIE);
    imagefilledarc($img,130,$i,150,100,95,125,$darkblue,IMG_ARC_PIE);
    imagefilledarc($img,130,$i,150,100,120,360,$bluered,IMG_ARC_PIE);
}
imagefilledarc($img,130,$i,150,100,0,95,$green,IMG_ARC_PIE);
imagefilledarc($img,130,$i,150,100,95,125,$blue,IMG_ARC_PIE);
imagefilledarc($img,130,$i,150,100,120,360,$red,IMG_ARC_PIE);
imagepng($img);//以png格式输出图像
imagedestroy($img);//释放资源
?>

出力結果は次のとおりです:

GD2 関数を使用して幾何学的図形を描画する (PHP グラフィックス イメージの典型的なアプリケーション チュートリアル 4)

GD2関数の使用幾何学図形を描くための紹介はここで終わりました。この機能は誰でも使いこなせると思いますので、引き続き画像に関するグラフに行と列のラベルを追加する方法を紹介していきます。詳細については、「GD2 関数を使用して、グラフに行と列のラベルを追加します (PHP グラフィックス イメージ 一般的なアプリケーションのチュートリアル 5)》!

以上がGD2 関数を使用して幾何学的図形を描画する (PHP グラフィックス イメージの典型的なアプリケーション チュートリアル 4)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。