>백엔드 개발 >PHP 튜토리얼 >php imagick은 이미지 색상 CMKY를 RGB로 변환합니다.

php imagick은 이미지 색상 CMKY를 RGB로 변환합니다.

WBOY
WBOY원래의
2016-07-25 09:01:231374검색
公司某个项目需要抓取pdf的缩略图,最近有部分缩略图无法在IE浏览器显示,但是能够在谷歌浏览器显示。最后发现无法显示的图片图像色彩为CMKY,而CMKY在IE浏览器是无法显示的。所以需要将图像色彩CMKY转为RGB。
关于ICC 文件 提供地址可以下载:

CMYK: http://www.mattbeals.com/icc/profiles/cmyk/USWebUncoated.icc.zip
RGB:http://www.mattbeals.com/icc/profiles/rgb/AdobeRGB1998.icc.zip

  1. $im = new Imagick($filename);
  2. if ($im->getImageColorspace() == Imagick::COLORSPACE_CMYK) {
  3. $i = new Imagick($filename);
  4. $profiles = $i->getImageProfiles('*', false);
  5. $has_icc_profile = (array_search('icc', $profiles) !== false);
  6. if ($has_icc_profile === false) {
  7. $icc_cmyk = file_get_contents('USWebUncoated.icc');
  8. $i->profileImage('icc', $icc_cmyk);
  9. unset($icc_cmyk);
  10. }
  11. $icc_rgb = file_get_contents('AdobeRGB1998.icc');
  12. $i->profileImage('icc', $icc_rgb);
  13. unset($icc_rgb);
  14. $i->writeImage($filename);
  15. }
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.