【发布时间】:2020-04-24 13:25:00
【问题描述】:
我在使用 PHP 的 GD 库创建从 webp 到 jpeg 的干净图像转码时遇到了一些麻烦。作为参考这里是使用 Google 演示的原始 jpeg 版本:https://developers.google.com/speed/webp/gallery(我从 jpeg 中包含了这个,因为我似乎无法将 webp 上传到 stackoverflow)
首先我尝试了这个基本程序:
$image = imagecreatefromwebp('4.webp');
imagejpeg($image, 'converted.jpg', 100);
我还尝试使用这段代码调整图像大小并首先绘制白色背景:
$image = imagecreatefromwebp('4.webp');
$width = imagesx($image);
$height = imagesy($image);
$new = imagecreatetruecolor($width, $height);
$background = imagecolorallocate($new, 255, 255, 255);
imagefilledrectangle($new, 0, 0, $width, $height, $background);
imagecopyresampled($new, $image, 0, 0, 0, 0, $width, $height, $width, $height);
imagejpeg($new, 'converted.jpg', 100);
这看起来更糟,并导致许多奇怪的工件:
在我完全放弃 GD 之前,任何人都可以提出建议以使其正常工作吗?首先,我正在寻找使用 GD 函数的解决方案。如果不可能,我愿意使用 ImageMagick 或其他库 - 但我想更深入地了解这里出了什么问题,以及是否可以在不更改工具的情况下正确完成。
【问题讨论】:
-
似乎发生了其他事情。当我运行您的基本例程时,它会完美地产生预期的图像。完全没有奇怪的颜色。
标签: php image-processing gd image-manipulation php-gd