現在の位置: ホーム> 最新記事一覧> 比較画像:ImageAntialias()の効果をオンとオフにします

比較画像:ImageAntialias()の効果をオンとオフにします

M66 2025-06-05

画像処理にPHPを使用する場合、 ImageAntialias()は簡単に見落とされる関数です。ただし、画質、特にラインと滑らかなエッジの表示に大きな影響を与えます。それで、この機能は正確に何をしますか?オンとオフをオンにすることの違いは何ですか?例と比較図をご覧ください。

ImageAntialiasとは

ImageAntialias()は、PHP GDライブラリで使用される関数です。アンチエイリアシングの役割は、エッジを滑らかにし、線、曲線、対角線をより自然に見せ、ジャグ感を減らすことです。

構文は次のとおりです。

 bool imageantialias(GdImage $image, bool $enable): bool
  • $画像はターゲット画像リソースです。

  • $ enabletrueの場合、アンチエイリアシングがオンになっている場合、 falseの場合、オフになります。

実際の比較効果

以下では、サンプルコードを介して2つの同一の画像を生成しますが、1つはアンチアリアーシングが有効になり、もう1つは存在しないことを除きます。

サンプルコード:アンチアリアシングをオフにします

<?php
$img = imagecreatetruecolor(200, 200);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);

// アンチエイリアシングは有効になりません
imageantialias($img, false);
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

imagepng($img, 'circle_no_antialias.png');
imagedestroy($img);
?>

画像アドレスを生成: https://m66.net/images/circle_no_antialias.png

サンプルコード:アンチアリアシングを有効にします

<?php
$img = imagecreatetruecolor(200, 200);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);

// アンチエイリアシングを有効にします
imageantialias($img, true);
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

imagepng($img, 'circle_antialias.png');
imagedestroy($img);
?>

画像アドレスを生成: https://m66.net/images/circle_antialias.png

視覚効果の比較

次の2つの画像の違いをご覧ください。

図からわかるように、アンチエイリアシングがオンになった後は円が滑らかになり、アンチエイリアスのある画像は、エッジに不規則なラインが表示されている状態でオフになります。

要約します

ImageAntialias()は強制機能ではありませんが、アンチアリアー剤をオンにすると、微細なエッジ(アイコン、曲線、テキストのアウトラインなど)を必要とする画像を処理するときに画像品質を大幅に向上させることができます。唯一の価格はもう少し処理時間ですが、このオーバーヘッドはほとんどのアプリケーションシナリオで受け入れられます。

出力画像の美しさを気にかけている場合は、 ImageAntialias($ image、true)を追加することを忘れないでください。描画する前に、小さな設定により、画像処理効果がよりプロフェッショナルに見えるようになります!