にゃあ

GDは画像縮小が苦手な子。でも、実はやれば出来る子。

PHPで画像の縮小をやろうと思ったら、まずGDを使ってみる人は多いと思います。写真アップロード掲示板などで、写真のサムネイルを作るときなど、GDによくお世話になります。

しかし、GDで写真を縮小すると、画質が悪くなる上に、色も変色してしまい、とても悲惨なことになるので、GDを毛嫌いする人も少なくないです。実際に、myAlbum-Pモジュールでは、GDの代替措置としてImage Magicをサポートしていたりします。

よくある、画像を縮小するPHPのサンプルで紹介されているのが、imagecreate()とimagecopyresized()を使ったやり方です。多くの人は、始めに紹介されるサンプルでやってみると思うので、この2つの関数で画像縮小を試みます。すると、画像は画質が荒くなり、おまけにJpegでは色が変色するという災難に遭うことになります。そうなってしまうと、食の豊かな世の中、食わず嫌いになってしまい、GDを使うこと自体を放棄し、数ある代替策に手を伸ばしてみることになるでしょう。

入り口で痛い目にあうと、これ以上続けようとはなかなか思わないものですが、もうすこし踏ん張って、GDの関数を探してみると、imagecreatetruecolor()とimagecopyresample()に出会います。これらはそれぞれimagecreate()とimagecopyresized()と似たような処理をする関数ですが、imagecreatetruecolor()とimagecopyresample()を使うだけで、GDによる画像縮小の質が格段によくなるのです。

ただし、imagecreatetruecolor()はGD2.0.1以降での対応になるので、GDのバージョンが古かったりすると、画像縮小をきれいにする方法が使えなくなってしまうので注意が必要です。

imagecreatetruecolor()を使ったプログラムを配布する差違には、function_existsで使えるかどうか確認してから使った方が良いかもしれません。


コメント&トラバ

トラックバックを送る

無関係なスパムのトラックバックを防止するため、リンク先で本サイト(suin.asia)への言及が確認されないトラックバックは破棄しています。

トラバURL : http://suin.asia/trackback/129

コメントを書く

お名前* URL
本文*
合い言葉* ←「12irwhany」と入力して下さい。
* この記事の話題と関係ないコメントはどんな内容でも削除します。(移動できないので)

トラックバック

トラックバックがないのはさみしいにゃん…。

コメント

コメントはないです。誰かコメント書いてよぅ…。

このブログの著者


Suinと申します。

@suin on Twitter

サブメニュー

最近気になるモノ!

WindowsからMacに乗り換えて半年ですが、Macは細かいところまで丁寧に作られていて、親切なユーザーインターフェイスが気に入ってます。iMacはMagic Mouseと洗練されたデザインのBluetoothキーボードがついてくるので、お得だなあ、なんて思ってます。私に買ってもいいという方、いたら教えてください 笑。

最近のエントリ

XOOPS Cube Dev Ring

最近のコメント

最近のトラックバック

ひとりで喜ぶログ
デュラララに登場するチャットを再現した (04/09)
ひとりで喜ぶログ
デュラララに登場するチャットを再現した (03/28)
http://www15.atpages.jp/~classicalstudio/wordpress/?p=50
getcwd()とdirname(__FILE__)は違う結果になるときがある (12/22)
Re:
CSSのtext-align:center;は<div>には通用しない (12/15)
XOOPS専門-株式会社RYUS - d3blog
Shiori 1.02 (12/02)
9deMaio.com - blog
Koins 1.00 (11/11)
インターネット覚え書き「ビボウログ」
CSSのtext-align:center;は<div>には通用しない (09/16)
hinoeuma1966
CSSのtext-align:center;は<div>には通用しない (07/03)
Suin.org
ブログ作ってみた (03/23)
Suin.org
ブログ作ってみた (03/23)