PHPでは、イメージアンスアリア()関数を使用して、画像のアンチエリアシング効果をオンまたはオフにします。この関数は、複雑なグラフィックを処理したり、高品質の画像を作成したりするために非常に重要です。
関数定義は次のとおりです。
bool imageantialias ( resource $image , bool $enabled )
$画像:画像リソースハンドル
$ enabled :ブール値、アンチエイリアシングを有効にするかどうかを設定します
成功した場合、関数はtrueを返し、それ以外の場合は偽りです。
ImageAntialias()はPHP GDライブラリの機能ですが、GDライブラリのすべてのバージョンではサポートされていません。特に、次の条件に依存します。
GD 2.0.28以上では、サポートが必要です。
PHPバージョンは、通常PHP 5.1.0に含まれるGDライブラリのこの機能をサポートする必要があります。
たとえば、PHPにコンパイル時にGDサポートを含める必要があります。
./configure --with-gd
ImageAntialias()は主にラインアンチアリエイジングを目的としていますが、GDライブラリのアンチエイリアシング効果は、特にテキストを描画する場合、Freetypeライブラリのサポートに依存することがよくあります。 Freetypeは、フォントとラインのより良い平滑化をサポートします。
GDライブラリは、アンチエイリアシング機能は主にTruecolor画像(24ビット色)を対象としているため、少なくともPNGまたはTruecolor画像をサポートする必要があります。
次のコードを使用して検出できます。
<?php
if (function_exists('imageantialias')) {
echo "imageantialias() 利用可能な関数";
} else {
echo "imageantialias() 機能は利用できません,可能GDライブラリバージョンが低すぎるか、編集されてサポートされていません";
}
?>
次の例は、アンチアリアーシングを有効にする方法を示しています。
<?php
// aを作成します 200x100 本当の色の画像
$image = imagecreatetruecolor(200, 100);
// 白い背景を設定します
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);
// アンチエイリアシングを有効にします
if (imageantialias($image, true)) {
echo "アンチアリアシングは正常に有効になります\n";
} else {
echo "アンチエイリアスが有効になったことは失敗しました\n";
}
// 赤いスラッシュを描きます
$red = imagecolorallocate($image, 255, 0, 0);
imageline($image, 0, 0, 200, 100, $red);
// 出力 PNG 画像
header("Content-Type: image/png");
imagepng($image, "http://m66.net/images/output.png");
// 無料のメモリ
imagedestroy($image);
?>
ImageAntialias()関数は、GDバージョン2.0.28+に依存します。
コンパイル時には、PHPをGDサポートに有効にする必要があります。
Freetypeライブラリを有効にして、より良いアンチエイリアシングを可能にすることをお勧めします。
アンチエイリアスは、主にTruecolor画像に適しています。
使用する前に、検出にfunction_exists()を使用することをお勧めします。
環境がそれをサポートしていない場合は、PHPまたはGDライブラリバージョンをアップグレードするか、通常のサポートを再コンパイルして有効にしてimageantialias()を通常使用できます。