PHP: imagepng haddinden fazla büyük dosyaları yaratıyor

0 Cevap php

Ben yazdım, basit bir thumbnailing komut dosyası kullanıyorum ve oldukça standart:

$imgbuffer = imagecreatetruecolor($thumbwidth, $thumbheight);
switch($type) {
  case 1: $image = imagecreatefromgif($img); break;
  case 2: $image = imagecreatefromjpeg($img); break;
  case 3: $image = imagecreatefrompng($img); break;
  case 6: $image = imagecreatefrombmp($img); break;
  case 15: $image = imagecreatefromwbmp($img); break;
  default: return log_error("Tried to create thumbnail from $img: not a valid image");
}
imagecopyresampled($imgbuffer, $image, 0, 0, 0, 0, $thumbwidth, $thumbheight, $width, $height);
$output = imagepng($imgbuffer, "$album/thumbs/$imgname.png", 9);

9 düşük kalite ayarı, henüz (56kb at) 400 x 600 JPEG görüntü ben bir thumbnail boyutu 27 KB (140 x 140) alıyorum. Imagejpeg (80 kalite) kullanılarak yerine bu 4kb hakkında imagepng.

Nasıl bu özellikle imagepng ayarı düşük kalitede olabilir? Ben imagecopy kullanarak yerine imagecopyresampled ve imagecreate yerine gerçek renk versiyonu çalıştı. Ne yazık ki görüntüleri parçalanmış bir şekilde çıkıyor.

Oldukça küçük dosya boyutunda (x 140 140 yaklaşık 4 kB) PNG küçük resimlerini almak için herhangi bir yolu var mı? Yoksa JPEG kullanmak zorunda mı?

0 Cevap