php – 使用Imagick将图像从RGB转换为CMYK
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用Imagick将图像从RGB转换为CMYK,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2042字,纯文字阅读大概需要3分钟。
内容图文
![php – 使用Imagick将图像从RGB转换为CMYK](/upload/InfoBanner/zyjiaocheng/793/70c90227af0f4dfd890d3920ed3fb208.jpg)
我正在尝试将RGB图像转换为CMYK,因为它们需要打印.
我正在使用此代码:
<?php
$filePath = 'rgb.jpg';
// First save image as png
$image = new Imagick($filePath);
$image->setImageCompression(Imagick::COMPRESSION_UNDEFINED);
$image->setImageCompressionQuality(0);
$image->setImageFormat("png");
$filePath = 'rgb.png';
$image->writeImage($filePath);
$image->clear();
$image->destroy();
$image = null;
// Convert colors
$image = new Imagick($filePath);
$image->stripImage();
$image->setImageColorspace(Imagick::COLORSPACE_CMYK);
$image->setImageCompression(Imagick::COMPRESSION_UNDEFINED);
$image->setImageCompressionQuality(0);
$image->setImageFormat("png");
$filePath = 'cmyk.png';
$image->writeImage($filePath);
$image->clear();
$image->destroy();
$image = null;
$fileUrl = 'http://www.product-designer.nl/rgb2cmyk/cmyk.png';
?>
CMYK Image:<br/>
<img src="<?php echo $fileUrl; ?>" width="400" /><br /><br />
<?php
$fileUrl = 'http://www.product-designer.nl/rgb2cmyk/rgb.png';
?>
RGB Image:<br/>
<img src="<?php echo $fileUrl ?>" width="400" />
你可以在http://product-designer.nl/rgb2cmyk上看到结果
我不知道怎么样,但不知何故,图像上的颜色变得颠倒了.
我需要转换图像,但颜色需要尽可能接近RGB颜色.
有谁知道如何做到这一点?
谢谢
解决方法:
看看here:
<?php
// don't use this (it inverts the image)
// $img->setImageColorspace (imagick::COLORSPACE_RGB);
if ($img->getImageColorspace() == Imagick::COLORSPACE_CMYK) {
$profiles = $img->getImageProfiles('*', false);
// we're only interested if ICC profile(s) exist
$has_icc_profile = (array_search('icc', $profiles) !== false);
// if it doesnt have a CMYK ICC profile, we add one
if ($has_icc_profile === false) {
$icc_cmyk = file_get_contents(dirname(__FILE__).'/USWebUncoated.icc');
$img->profileImage('icc', $icc_cmyk);
unset($icc_cmyk);
}
// then we add an RGB profile
$icc_rgb = file_get_contents(dirname(__FILE__).'/sRGB_v4_ICC_preference.icc');
$img->profileImage('icc', $icc_rgb);
unset($icc_rgb);
}
$img->stripImage (); // this will drop down the size of the image dramatically (removes all profiles)
?>
内容总结
以上是互联网集市为您收集整理的php – 使用Imagick将图像从RGB转换为CMYK全部内容,希望文章能够帮你解决php – 使用Imagick将图像从RGB转换为CMYK所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。