php - 使用 ImageMagick 和 PHP 将 PNG 转换为 JPG 并将透明背景设置为白色

标签 php image imagemagick transparency

在将图像从 PNG 转换为 JPEG 时,如何使用 ImageMagick(带有 php 扩展名)将透明背景设置为白色?

最佳答案

在撰写本文时,您尚未指定您使用的扩展程序,但如果您使用的是命令行,则命令为:

convert image.png -background white -flatten -alpha off image.jpg

更多信息请访问 Masking Usage documentation .

以 IMagick 为例,我认为您可以这样做:

(完全未经测试,从未使用过 IMagick,也没有安装它来测试)

$image = new IMagick('image.png');

$flattened = new IMagick();
$flattened->newImage($image->getImageWidth(), $image->getImageHeight(), new ImagickPixel("white"));

$flattened->compositeImage($image, imagick::COMPOSITE_OVER, 0, 0);

$flattened->setImageFormat("jpg");
$flattened->writeImage('image.jpg');

$image->clear();
$image->destroy();
$flattened->clear();
$flattened->destroy();

关于php - 使用 ImageMagick 和 PHP 将 PNG 转换为 JPG 并将透明背景设置为白色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5280118/

相关文章:

php - 有什么方法可以通过在 SQL 中执行 DELETE 指令来返回一些东西吗?

php - 使用php从google maps html调用解析json数据到mysql数据库

php - json_encode 与 mysql 内容和 utf-8 中的变音符号

Java,我怎样才能弹出一个只有图像的对话框?

JavaScript - 单击图像,然后单击 div,然后将图像移动到 div

ios - 如何使用imagemagick获得圆角、渐变抛光的iOS图标图像效果?

php - 点击add在php中插入另一个输入字段

html - 我希望我的水平滚动图像之间的间距完全相同,如何实现?

ruby-on-rails - 我正在尝试在Rails应用程序的 ruby 中制作饼图

c# - ImageMagick 不能在 docker 环境中工作