2

我加载透明的png图像,每次我尝试使用setimagebackgroundcolor()它设置bg颜色时仍然透明

    $input_img = new Imagick();

    $input_img->setBackgroundColor("#ff0000");

    $input_img->readImage("transparent.png");

    $input_img->setimagebackgroundcolor("#00ff00");

    $input_img->setImageFormat("png");

    $input_img->setimagebackgroundcolor("#ff00ff");

    $input_img->writeimage("image.png");
4

3 回答 3

0

代码的第一行为颜色设置了一个新的 Imagickpixel 对象。第二行创建一个新框架,1920 和 1200 是当然的尺寸。

$color = new ImagickPixel("white");

$input_img->newImage(1920,1200, $color)
于 2015-05-15T10:05:59.840 回答
0

诀窍是使用$im = $im->flattenImages();

<?php
$im = new Imagick($filename);

$im->setImageBackgroundColor('#ffffff');
$im = $im->flattenImages();

$im->setImageFormat("jpeg");
$im->setImageCompressionQuality(95);
$im->writeImage($filename);
于 2015-12-03T11:03:38.230 回答
-1

尝试这个!

$imput_img->setBackgroundColor(new ImagickPixel('blue'));
于 2013-04-19T14:51:34.817 回答