« 「音ログ」付けてみました | メイン | カルロス・クライバー死去 »

2004年07月19日

GD2.0での画質

以前のエントリーでGDを使ったサムネイル画像の作成方法を書きました。これを書いたときは使用サーバーでGD2.0が使えなかったので検証できませんでしたが、いつのまにか使えるようになっていたので画質の比較をしてみます。
厳密には、PHPプログラムの上で、GD2.0の環境でしか使えない関数(imagecreatetruecolor、imagecopyresampled)と、GD1.xがあれば使える関数(imagecreate、imagecopyresized)の画質比較ですね。

大きい画像がオリジナル画像で、小さい画像の左がGD1.6、右がGD2.0を使用して作成したサムネイルです。

parcor-00.jpgparcor_tn1.jpgparcor_tn2.jpg

parmmon-00.jpgparmmon_tn1.jpgparmmon_tn2.jpg

phpinfoでのバージョン表示では
・1.6.2 or higher
・bundled (2.0.15 compatible)

ソースは

GD1.6
$img = imagecreate(60,60);
$imagefrom = imagecreatefromjpeg($file1);
imagecopyresized($img,$imagefrom,0,0,$resize_x,$resize_y,$resize_w,$resize_h,$imagesize[0],$imagesize[1]);

GD2.0
$img = imagecreatetruecolor(60,60);
$imagefrom = imagecreatefromjpeg($file1);
imagecopyresampled($img,$imagefrom,0,0,$resize_x,$resize_y,$resize_w,$resize_h,$imagesize[0],$imagesize[1]);

このように、imagecreatetruecolorとimagecopyresampledの二つの関数を使うかどうかの違いです。

で、画像を見てみるとGD1.6の方は、画像によってはなんだかわからないぐらい潰れてしまい、対してGD2.0ではちょっとぼやけたような印象にはなりますが、全体像はわかりやすくなったようです。
関数の使い方でもう少し綺麗にできるような気もします。
まぁ、この程度の画像ならどっちでもいいっちゃいいんですが。^^;

ただ、画質の問題よりも、GD1.6の頃のコードでは元画像によってはサムネイルの作成に失敗(色が抜ける)することがあったのに、新しいコードにしてからはそのようなことがなくなったので、変更して良かったと思っています。

投稿者 Utayume : 2004年07月19日 23:21| 05 Work(Perl, PHP, etc)

AD

ベルメゾンネット ニッセン セシール ムトウ IMAGEnet DHCオンラインショップ 白鳩/京都発インナーショップ

トラックバック

このエントリーのトラックバックURL:
http://ondes-martenot.info/MT/mt-tb.cgi/137

AD

Mac ソフトのことなら act2.com デル株式会社 ioPLAZA【アイ・オー・データ直販サイト】 Just MyShop(ジャストシステム)