中級プログラマの自宅でPHP ブログ

自宅用ポータルシステム「MyHome Portal」をオープンソースで公開。MyHome Portalの説明とエンハンス情報。

PHPでのJPEG画像の縮小処理方法

MyHome Portal Ver.2.44で、JPEG画像表示の高速化ができました。

私のデジカメ画像の場合、縮小画像のサイズ指定:1200で、画像を約1/20程度に圧縮できる効果は大きく、体感速度でも10倍以上で、スムーズなアルバム表示ができるようになりました。

サムネイルモードで、1頁10個の画像表示では、表示の1回目では、10個のJPEG画像の縮小処理を行って表示することになるわけですが、それでも、ほとんどストレスを感じません。

MyHome Portalでは最初(Ver.1.24以前)、PHPのGDライブラリimagecopyresampledを使って縮小画像を作って表示する方式をとっていました。ただ、GDライブラリで行う場合、imagecreatefromjpegで画像データを取り込み、imagecopyresampledで縮小処理をし、imagejpegでJPEG化するという手順をPHP上で行うことになり、かえって時間がかかりすぎることになり、この方式をやめました。

今回、IrfanViewをexecでコマンド処理しています。非常に高速で満足しています。