使用imagemagick(PHP)压缩图像时,图像变为粉红色

时间:2013-04-04 15:21:18

标签: php imagemagick

在PHP上使用imagemagick压缩图像时,结果变为粉红色。

$im = new Imagick();

$imgsrc = file_get_contents( $imgFilepathIn );
$im->readImageBlob($imgsrc);    

$im->setImageColorspace(255);
$im->setImageCompression(Imagick::COMPRESSION_JPEG);
$im->setImageCompressionQuality(90);    

$im->setImageFormat('jpeg');                
$im->writeImage( $imgFilepathOut );

1 个答案:

答案 0 :(得分:1)

问题是jpg的默认透明色(粉红色)。

我们可以通过明确设置新的透明度/背景颜色来克服这个问题。

$im->setBackgroundColor(new ImagickPixel('transparent'));

它似乎也是

$im->setImageColorspace(255);

有时可能会产生问题