アルバムシステムの作成のお仕事があったので、PHP関数のimagecopyresampled とimagecopyresizedでサムネイル(縮小)画像の品質がどのぐらい違うのか比べてみました。今日は、比較とその時のメモを。
3008*2000pxのjpegデータを幅200pxに縮小してみました。imagecopyresampled の方が確かに綺麗ですけれども、ちょっとボケた感じがしないでもないですね。imagecopyresizedはちょっと粗いですね。でもはっきりしてるって言えばはっきりしてるのかな、と。(双方ともにimagecreatetruecolorではあります。)PHPマニュアルではimagecopyresampled の方が高品質と書かれていました。好みの問題かな、用途の問題かな…。
| imagecopyresized | imagecopyresampled |
|---|---|
![]() |
![]() |
![]() |
![]() |
ところで、サーバのphpへのメモリの割り当てが8Mとかだと、GDを全然使いきれないのですね。それも、エラーも出ないで実行が止まる。。。私の実験環境では、16Mに増やしても、幅1280pxの写真を700pxにしようとしたらダメでした。110pxのように小っさくする場合は大丈夫でした。メモリに関係するのは、元画像だけじゃなくて、サムネイル後の画像の大きさも重要なのですね。割り当てを32Mまで増やしたら無事稼動しました。サーバを借りる時はphp.iniを触れるところにしないと巧くないですね。。。あ、メモリ開放imagedestroy($dst);は念のために必ず、だね。
ImageMagicはまた今度。





コメントする