2016-03-28 26 views
1

Küçük resimler oluşturmak için projemdeki büyük resimleri yeniden boyutlandırıyorum. Sorun, büyük resim ben anlaşılabilir düşünüyorum hangi 732KB mesafesindedir Thumbnail (400 x 266)Görüntüyü küçük boyutlu görüntüye yeniden boyutlandıran resim büyük boyutlu bir dosya boyutu sağlar

: Original Image (1160 x 773)

Küçük resim (400 x 266):

Orijinal Resim (1160 x 773): İşte bir örnek boyutu büyük olduğu için, ancak ikinci görüntü hala 573kb.

Bu normal mi, yoksa bir terslik mi var?

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

Bu normaldir. Küçük resim için 30 kalitesini kullanın. – user2094178

+0

Ancak kalite 30 ise bulanık bir görüntü oluşturmaz mı? Ayrıca bu özel bir durum çünkü aynı kod ve neredeyse aynı boyutta yüz resimden daha fazlasını yeniden boyutlandırdım, ancak dosya boyutu bu boyuttan çok daha küçük. Küçük resim boyutuna yeniden boyutlandırıldığında bunların çoğu sadece 70kb'dir. Ben bu durumla 10 görüntüleri gibi var ve ben bile çok bulanık ve pikselli oldu 0'a zaten kalitesini ayarlamak ama hala boyut 500kb uzak değildir düşünüyorum. – Jed

+0

Bu ayrıntıları soruya eklemelisiniz. – user2094178

cevap

1

bu kodu deneyin ve en boy oranına sahip bir küçük boyutlu bir görüntü elde edecek:

İşte boyutlandırma benim kodudur.

$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

Harika bir adam! Yardım ettiğin için teşekkür ederim. Yerel makinemi denedim ve doğru çalışıyor. Bunu daha sonra sunucumda deneyeceğim ve çıktı aynıysa, bunu doğru cevap olarak işaretleyeceğim. Gelecekte referans için bu sefer imagick yerine gd sürücüsü kullandım. – Jed