我一直在使用下面的颜色转换
if @image.colorspace == Magick::CMYKColorspace
# @image.colorspace #=> CMYKColorspace=12
@image.colorspace = Magick::RGBColorspace
@image = @image.negate
end
大约有效,但颜色亮度不合适。我需要否定图像的事实留下了非常难闻的气味。
文档提到了使用color_profiles,但除此之外我找不到多少。
我正在尝试
@image = @image.quantize(16777216, Magick::RGBColorspace)
颜色更好,但仍然关闭。
答案 0 :(得分:11)
谢谢Pekka,你给了我答案(+1)。
您必须在安装了Little Color Management System (LCMS)的情况下编译ImageMagick。如果使用安装程序或包,可能已经是这种情况。但我是从源头编译的。它就像从源代码安装LCMS并重建ImageMagick(./configure; make; make install
)一样简单。
在ImageMagick中,以下效果很好,可以再现准确的颜色:
convert FILENAME -profile /PATH_TO_PROFILE/sRGB.icm OUT.jpg
所以在RMagick中我使用以下内容:
if @image.colorspace == Magick::CMYKColorspace
# Adjust the path as necessary
@image.color_profile ="/usr/local/share/ImageMagick-6.5.4/config/sRGB.icm"
end
@image.write("out.jpg") { self.quality = 85 }
答案 1 :(得分:4)
我花了很长时间尝试使用RMagick和Rails从CMYK EPS转换为RGB PNG。希望这对某人有用:
def convert_image_from_cmyk_to_rgb( image )
#puts image.alpha?
if image.colorspace == Magick::CMYKColorspace
image.strip!
image.add_profile("#{Rails.root}/lib/USWebCoatedSWOP.icc")
image.colorspace == Magick::SRGBColorspace
image.add_profile("#{Rails.root}/lib/sRGB.icc")
end
image
end
您可以直接从Adobe http://www.adobe.com/support/downloads/iccprofiles/iccprofiles_win.html
下载ICC文件我唯一无法理解的是如何保持透明度。我想要使用的EPS具有透明背景,正在变成白色。不幸的是,我不能做像image.transparent( "white" )
这样的事情,因为我想要保留为白色的图像中有白色。
如果我取消注释上面代码中的puts image.alpha?
,则返回false
。
有没有人知道我正在尝试使用当前版本的RMagick做什么,因为我开始怀疑是否不支持导入具有透明度的CMYK EPS。
谢谢!
答案 2 :(得分:2)
在这种情况下,传入的文件可以 有个人资料。我会调查 多一点。我迷失了颜色 个人资料(比如我在哪里下载 他们?国际刑事法院网站没有多大帮助)
你不是唯一困惑的人;我也是。有关ImageMagick网站的讨论可能值得通过以下方式进行讨论:Here据我所知,当使用的配置文件(例如监视器配置文件)或嵌入的配置文件时,可以正确使用配置文件。该文件(我认为至少可以在Photoshop中完成TIFF和JPG)。检查例如这个:Here。祝好运。
答案 3 :(得分:2)
我发现The Who的命令行解决方案运行得很漂亮,但RMagick解决方案对我不起作用。
为了让它在RMagick中工作,我不得不使用Magick :: Image#add_format方法,根据文档,它允许您指定源和目标配置文件。它看起来像这样:
if img.colorspace == Magick::CMYKColorspace
img.add_profile(RGB_COLOR_PROFILE)
end
答案 4 :(得分:1)
RE:在Centos 5.5上的LCMS,请务必从源代码下载并构建最新的LCMS(与yum install相比)。否则,IM将无法在构建中找到LCMS,您会像我一样摸不着头脑,想知道为什么LCMS不包含在IM委托库中。