PHP GD imagecopyresampled 可怕的质量

发布于 2024-12-23 02:52:20 字数 304 浏览 0 评论 0原文

不知道为什么它看起来这么糟糕,但是当我将一个图像复制到另一个图像上时,它看起来非常糟糕,就像它由于某种原因失去了几乎所有颜色。

$img = imagecreate(240, 140);    
$wall = imagecreatefrompng($src);
imagecopyresampled($img, $wall, 0, 0, 40, 340, 240, 140, 240, 140);

我自己一直在尝试寻找解决方案,但似乎找不到一个,任何对 GD 非常擅长的人可以提供帮助吗?我无法使用 imagemagick。

Not sure why it looks so bad, but when I copy an image over another image, it looks extremely terrible, like it lost almost all its colors for some reason.

$img = imagecreate(240, 140);    
$wall = imagecreatefrompng($src);
imagecopyresampled($img, $wall, 0, 0, 40, 340, 240, 140, 240, 140);

I've been trying to find a solution myself but I can't seem to find one, anybody really good with GD that can help? I can't use imagemagick.

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

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

发布评论

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

评论(1

爱格式化 2024-12-30 02:52:20

您需要使用 imagecreatetruecolor() 创建画布图像,而不是imagecreate() 因为前者创建一个基于调色板的画布,具有有限的颜色支持。

我假设您正在使用 imagepng() 来保存我们的输出图像。该函数接受的第三个参数定义图像的质量或压缩级别(0-9)

You need to create your canvas image with imagecreatetruecolor() rather than imagecreate() as the former creates a palette based canvas with limited colour support.

I presume you are then using imagepng() to save our output the image. The third argument accepted by this function defines the quality of the image, or the compression level (0-9)

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