2010-08-22 13 views
1

je change la taille de l'image et mettre sur d'autres, mais la qualité d'image très pauvre, pourquoi? (Quand je sauve l'image que je trouve à 100 qualité)php gd, utiliser deux image, mauvaise qualité

$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

Cela semble très bien - voir http://stackoverflow.com/questions/1533639/image-resize-issue-in-php-gd-creates-ugly-resized-images. Mais pourquoi ne faites-vous pas les deux étapes en une? De cette façon, vous ne rééchantillonnerez pas deux fois. – Borealid

+1

En quoi la qualité de l'image est-elle médiocre? – Gumbo

+0

Borealid> Merci pour le lien, mais dans ce lien, je ne trouve pas de bonnes idées pour moi. Peut-être que vous pouvez plus de détails. – user319854

Répondre

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

Je suppose que le problème est. Vous devriez utiliser imagecreatetruecolor comme ci-dessus.