2010-08-22 49 views
1

我改变图像大小并放在其他人,但图像质量很差,为什么? (当我保存图像我设置100质量)php gd,使用两个图像,质量差

$src = imagecreatetruecolor($new_width, $new_height); 
$src2 = imagecreatefromjpeg($img_url); 
imagecopyresampled($src, $src2, 0, 0, 0, 0, $new_width, $new_height, $new_img_size['org_w'], $new_img_size['org_h']); 

$bg_size = 600; 
$img_center_w = ($bg_size/2) - ($new_width/2); 
$img_center_h = ($bg_size/2) - ($new_height/2); 

$dst = imagecreate($bg_size, $bg_size); 
$bg = imagecolorallocate($dst, 225, 255, 255); 

imagecopy($dst, $src, $img_center_w, $img_center_h, 0, 0, $new_width, $new_height); 

imagejpeg($dst, 'test_img.jpg', 100); 
+0

这看起来不错 - 请参阅http://stackoverflow.com/questions/1533639/image-resize-issue-in-php-gd-creates-ugly-resized-images。但为什么你不在一个步骤中完成这两个步骤?这样,你不会重复采样两次。 – Borealid 2010-08-22 18:20:08

+1

图像质量差吗? – Gumbo 2010-08-22 18:20:36

+0

Borealid>感谢您的链接,但是在那个链接中我找不到任何好主意。也许你可以更多的细节。 – user319854 2010-08-22 19:44:13

回答

0
$dst = imagecreate($bg_size, $bg_size); 

我想这就是问题所在。您应如上所述使用imagecreatetruecolor