1

在 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 );
4

1 回答 1

1

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

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

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

它也似乎

$im->setImageColorspace(255);

有时会产生问题

于 2013-04-04T15:21:17.827 回答