使用Imagick php库,我希望将CMYK pdf转换为RGB jpg。
以下结果导致jpg甚至不能代表原始颜色。
$thumb = new Imagick($file);
$thumb->setImageColorspace (imagick::COLORSPACE_RGB);
$thumb->setImageFormat('jpg');
$thumb->writeImage($target_file);
我尝试了“个人资料”,但这会产生与上述相同的问题和警告。我也不明白这种方法。
if ($thumb->getImageColorspace() == Imagick::COLORSPACE_CMYK) {
$profiles = $thumb->getImageProfiles('*', false);
$has_icc_profile = (array_search('icc', $profiles) !== false);
if ($has_icc_profile === false) {
$icc_cmyk = file_get_contents('/srv/www/htdocs/USWebUncoated.icc');
$thumb->profileImage('icc', $icc_cmyk);
unset($icc_cmyk);
}
$icc_rgb = file_get_contents('/srv/www/htdocs/sRGB_v4_ICC_preference.icc');
$thumb->profileImage('icc', $icc_rgb);
unset($icc_rgb);
}
$thumb->stripImage ();
任何人都可以提供不使用exec()并使用php库的解决方案吗?