2016-03-28 17 views
1

サムネイルを作成するために、自分のプロジェクトで大きなイメージのサイズを変更しています。問題は、大きな画像は、私が理解しやすいと思いますこれは732キロバイトです Thumbnail (400 x 266)imagickドライバを使用してイメージを小さなイメージにリサイズするとファイルサイズが大きくなります

Original Image (1160 x 773)

サムネイル(400×266):

オリジナル画像(1160 X 773):ここでは一例であり、サイズは大きいので、2番目の画像はまだ573kbです。

これは正常な動作ですか?何か問題がありますか?ここで

はリサイズのための私のコードです:

\Intervention\Image\Facades\Image::make($originalPath) 
    ->resize($resized_width, $resized_height, function($constraint){ 
     $constraint->aspectRatio(); 
     $constraint->upsize(); 
    }) 
    ->save($thumbnailPath, 85); 
+0

これは正常です。サムネイルには品質30を使用します。 – user2094178

+0

品質が30の場合、ぼやけた画像が生成されませんか?これは特別なケースです。私は既に同じコードでほぼ同じサイズの100以上の画像をサイズ変更していますが、ファイルサイズはこれよりはるかに小さいためです。サムネイルサイズにリサイズされたときのほとんどは70kbです。 私はこのような状況で10枚の画像を持っていると思うし、すでに品質を0に設定していても、それは非常にぼやけており、ピクセル化されていますが、まだサイズは500kbから遠くありません。 – Jed

+0

これらの詳細を質問に追加する必要があります。 – user2094178

答えて

1

は、このコードを試してみて、あなたは、アスペクト比の小さいサイズの画像を取得します。

$configpath = 'Path of destination'; 
$width  = ($width)?$width:200; 
$height  = ($height)?$height:200; 
$img = Image::canvas($width, $height); 
$image = Image::make($path)->resize($width, $height, function ($c) { 
     $c->aspectRatio(); 
     $c->upsize(); 
}); 
// insert resized image centered into background 
$img->insert($image, 'center'); 
$img->save($configpath.$width.'x'.$height.'_'.$filename); 
+0

恐ろしい男!ご協力いただきありがとうございます。私は私のローカルマシンとそれが正しく動作しようとしました。私は後でこれを私のサーバで試してみます。出力が同じなら、これを正解とマークします。今後の参考として、今回はimagickではなくgd driverを使用しました。 – Jed

関連する問題