php gd,使用两个图像,质量差

发布于 2024-09-15 16:10:29 字数 624 浏览 3 评论 0原文

我改变图像尺寸并换上其他图像,但图像质量很差,为什么? (当我保存图像时,我设置了100质量)

$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);

i change image size and put on others, but image quality very poor, why?
(When i save image I set 100 quality)

$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);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平安喜乐 2024-09-22 16:10:30
$dst = imagecreate($bg_size, $bg_size );

我想这就是问题所在。您应该使用上面的imagecreatetruecolor

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

I guess that's the problem. You should use imagecreatetruecolor as above.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文