在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 );
答案 0 :(得分:1)
问题是jpg的默认透明色(粉红色)。
我们可以通过明确设置新的透明度/背景颜色来克服这个问题。
$im->setBackgroundColor(new ImagickPixel('transparent'));
它似乎也是
$im->setImageColorspace(255);
有时可能会产生问题