PHPで画像を描画するときは、チャート、グラフィックス、透かしの生成などの画像処理シナリオなど、直線を描画する必要があります。ただし、デフォルトで描かれた行には、十分に滑らかに見えないギザギザのエッジがある場合があります。この時点で、 ImageAntialias()関数を使用してImageLine()を組み合わせて、よりスムーズでより自然なライン効果を実現できます。
bool imageantialias ( GdImage $image , bool $enable )
この関数は、指定された画像のアンチエイリアシングを有効またはオフにします。 ImageLine() 、 ImagePolygon()など、特定の描画関数に対してのみ有効です。
bool imageline ( GdImage $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
この関数は、ポイント(x1、y1)からポイント(x2、y2)までの画像に直線を描画し、色はパラメーター$ colorで指定されます。
最初に、より良い色の表現を得るために、真の色の画像キャンバスを作成します。
$width = 400;
$height = 300;
$image = imagecreatetruecolor($width, $height);
背景を色で満たして、描かれた線をより明確にすることができます。
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
これが滑らかなラインを達成するための鍵です。
imageantialias($image, true);
線の色を設定して、線を描きます。
$black = imagecolorallocate($image, 0, 0, 0);
imageline($image, 50, 50, 350, 250, $black);
生成された画像はPNG形式に出力され、ブラウザに表示されます。
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
これは、左上隅から右下隅に滑らかな黒い線を描く完全に実行可能なPHPコードの例です。
<?php
$width = 400;
$height = 300;
$image = imagecreatetruecolor($width, $height);
// 背景色を白に設定します
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
// アンチエイリアシングを有効にします
imageantialias($image, true);
// 線の色を黒に設定します
$black = imagecolorallocate($image, 0, 0, 0);
// 直線を描きます
imageline($image, 50, 50, 350, 250, $black);
// 出力画像
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
上記のコードをPHPファイルとして保存して、ブラウザを介してアクセスできます。たとえば、Webサイトのhttps://www.m66.net/draw_line.phpに配置して、図面効果を確認します。
ImageAntialias()を有効にすることにより、PHPのGDライブラリは、線を描くときにアンチエリアシングを実行し、ジャグされたエッジを効果的に削減し、画像をよりスムーズで美しくすることができます。この関数は、高品質のグラフィック出力を必要とするWebアプリケーションで非常に実用的です。 ImageLine()と組み合わせることで、絶妙なグラフィカルインターフェイス要素を簡単に描画できます。