Authentication




Cancel OK
B!コメントする  2013-12-16 14:12:00 by old

画像変換の効率

送られてくる画像をそのまま保存なぞしまくっているとすぐにサーバーがパンクするので縮小なりあれこれして小さくするのが普通な感じだと思うんですが実際にどうなるのか簡単に見てみた。

ためしに以下の画像を使ってみた。

ファイル名:library
幅:1024px x 高さ:678px
ファイルサイズ:708,848 byte
形式:jpeg

CC:rseidel3

変換はGDを使ってサクッと行う
まずはJPGからPNGへ変換
ソースはシンプルにこんな感じ

$img = @imagecreatefromjpeg("library.jpg");
header("Content-Type: image/png");
header("Content-Disposition: attachment; filename=convert.png");
imagepng($img);


変換後のファイルサイズは

JPG → PNG
ファイルサイズ:1,512,741 byte

色数増えるので当たり前と言えば当たり前ですが増えています。
ここで変換して生成されたPNG画像をB画像とした場合
B画像をもう1回JPG画像にするとどうなるかというと

JPG → PNG → JPG
ファイルサイズ:186,613 byte

大幅に小さく出来ました。
もちろん縦横のサイズは同じです。
見た目で大きな変化は見られません。
ちなみにJPG→PNG→JPGでこのようなサイズになりましたが
JPG→JPGだとどうなるかというと

JPG → JPG
ファイルサイズ:186,613 byte

となりました。
ファイルサイズに特に変化は見られませんでした。
GDのしかも1ファイルだけのサンプルですがまとめるとこんな感じになります。

library.jpg   708,848 byte → library.jpg 186,613 byte
 ↓(JPG -> PNG)
library.png 1,512,741 byte
 ↓(PNG -> JPG)
library.jpg 186,613 byte


画質なんかも考慮しだすともっと細かく変わるんでしょうがちょっと気にしていた点を解消するべく息抜きも兼ねて見てみました。


PHP  

  • コメント
  • コメントはまだありません