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 に答える