9
PHPでの効率的なJPEG画像のサイズ変更
PHPで大きな画像のサイズを変更する最も効率的な方法は何ですか? 現在、GD関数imagecopyresampledを使用して高解像度の画像を取得し、それらをWeb表示用のサイズ(幅700ピクセル、高さ700ピクセル)にきれいにサイズ変更しています。 これは小さい(2 MB未満)写真でうまく機能し、サイズ変更操作全体はサーバー上で1秒未満で完了します。ただし、このサイトは最終的に、最大10 MBのサイズの画像(または最大5000x4000ピクセルのサイズの画像)をアップロードする可能性のある写真家にサービスを提供します。 大きな画像でこの種のサイズ変更操作を行うと、メモリ使用量が非常に大きくなる傾向があります(画像が大きいと、スクリプトのメモリ使用量が80 MBを超える可能性があります)。このサイズ変更操作をより効率的にする方法はありますか?ImageMagickなどの代替画像ライブラリを使用する必要がありますか? 現在、サイズ変更コードは次のようになっています function makeThumbnail($sourcefile, $endfile, $thumbwidth, $thumbheight, $quality) { // Takes the sourcefile (path/to/image.jpg) and makes a thumbnail from it // and places it at endfile (path/to/thumb.jpg). // Load image and get image size. $img = imagecreatefromjpeg($sourcefile); $width = imagesx( $img ); $height = …