現在の位置: ホーム> 最新記事一覧> ImageCreateTrueColor() + ImageOpenPolygon():ゼロから画像を作成します

ImageCreateTrueColor() + ImageOpenPolygon():ゼロから画像を作成します

M66 2025-05-29

PHPでは、GDライブラリによって画像処理機能が提供され、 ImageCreateTrueColor()ImageOpenPolygon()は非常に有用な機能の2つです。この記事では、これら2つの機能を使用して画像をゼロから作成し、単純なポリゴンを描く方法を示します。画像を作成し、画像の色を設定し、ポリゴンメソッドを使用してグラフィックをレンダリングする方法を段階的に進みます。

1.migmecreatetruecolor ()を使用して画像を作成します

ImageCreateTrueColor()は、真のカラー画像リソースを作成するための非常に基本的な機能です。画像の幅と高さの2つのパラメーターを受信し、画像を表すリソースを返します。

 <?php
// ワイドを作成します 500 高い 500 画像
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);

この関数によって返される$画像変数は画像リソースであり、次に画像処理操作を実行するために使用できます。

2。色を割り当てます

画像では、通常、形状、背景などを描くために異なる色を設定する必要があります。MigmeColorAllocate ()を使用して色を割り当てることができます。画像リソース、赤、緑、青の値(0-255)の4つのパラメーターを受け入れます。

 // 背景色とポリゴンの色を割り当てます
$background_color = imagecolorallocate($image, 255, 255, 255);  // 白い背景
$polygon_color = imagecolorallocate($image, 0, 0, 255);        // 青いポリゴン

3.背景色を埋めます

ImageFill()を使用して、画像全体に指定された色を入力します。たとえば、画像を作成した後、白い背景を埋めたいと思います。

 // 背景の色を埋めます
imagefill($image, 0, 0, $background_color);

4。画像polygon()を使用してポリゴンを描く

次に、 ImagePolygon()を使用してポリゴンを描画します。この関数のパラメーターには、画像リソース、頂点座標配列、頂点数が含まれます。ポリゴンの各頂点は、座標(x、y)で表されます。

 // ポリゴンの頂点座標
$points = array(
    150, 150,
    350, 150,
    400, 350,
    200, 400,
    100, 300
);

// ポリゴンを描きます
imagepolygon($image, $points, 5, $polygon_color);

5。出力画像

最後に、作成された画像を出力する必要があります。 PHPは、ImagePng()ImageJpeg()ImageGif()などの関数を提供します。それらのいずれかを選択して、ニーズに応じて画像を出力できます。ここでは、ImagePng()を使用して、画像をPNG形式として保存します。

 // ブラウザに画像を出力します
header('Content-Type: image/png');
imagepng($image);

// またはファイルとして保存します
// imagepng($image, 'polygon_image.png');

6.無料のリソース

メモリを保存するために、画像が生成されたら、画像リソースをリリースする必要があります。

 // 画像リソースを破壊します
imagedestroy($image);

完全なコードの例

<?php
// 画像リソースを作成します
$width = 500;
$height = 500;
$image = imagecreatetruecolor($width, $height);

// 色を割り当てます
$background_color = imagecolorallocate($image, 255, 255, 255);  // 白い背景
$polygon_color = imagecolorallocate($image, 0, 0, 255);        // 青いポリゴン

// 背景の色を埋めます
imagefill($image, 0, 0, $background_color);

// ポリゴンの頂点座標
$points = array(
    150, 150,
    350, 150,
    400, 350,
    200, 400,
    100, 300
);

// ポリゴンを描きます
imagepolygon($image, $points, 5, $polygon_color);

// 出力画像
header('Content-Type: image/png');
imagepng($image);

// 画像リソースを破壊します
imagedestroy($image);
?>