2012-03-06 6 views
2

JPGを取得してサイズを変更するプロセスがあります。GDがこの状況でサイズ変更されたイメージを圧縮する理由はありますか?

私が意図しているのは、追加の圧縮を適用せずに単に寸法を変更することですが、コードを実行した後、画像がKbより小さくなることが予想されます(品質が悪くなります)。

私は何かが間違っている(私はGD/Imagemagickに新しいです)場合、私は好奇心が強いですし、いくつかの他のステップがある場合、私は品質を保つために採用する必要があります。ここで

は私のコードです:

$src = imagecreatefromjpeg($originalLocation); 
$dst = imagecreatetruecolor($destinationWidth, $destinationHeight); 
list($oWidth, $oHeight, $type, $attr) = getimagesize($originalLocation); 
imagecopyresampled($dst, $src, 0, 0, 0, 0,$destinationWidth,$destinationHeight,$oWidth,$oHeight); 
imagejpeg($dst, $destinationLocation, 100); 

元画像は1024x600と〜450kの 結果の画像は640x375であるだけ〜30K

私がの制御で、一見していたコードで唯一の場所であります圧縮は、私が通過しているimagejpegコールにあります。元のサイズの> 50%のイメージが、ファイルサイズが<%10に縮小されているのはなぜですか?

[EDIT] 追加サンプルファイル: BEFORE AFTER

TIA

+1

技術的には、サイズの「> 50%」ではありません。元の約614kピクセルに比べて約240kピクセルです。 – Amber

+0

30k画像はどのように見えますか? – CookieOfFortune

+0

目的地のファイルを見て、どのように見えていますか? 30kは、高品質の640x375画像では非常に小さいです。たぶん次元はあなたが思うものではないでしょう。 –

答えて

0

ImageMagikは完全に問題を解決しました。だから、私はそれを使っています。

0

すべてがOKに見えますが、それは品質の設定は無視されていることは明らかです。 the documentation州では最高100までの品質設定を使用できますが、差があるかどうかを確認するには99を試してみましょう。

関連する問題