【发布时间】:2011-07-26 16:39:02
【问题描述】:
我花了很长时间尝试使用 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
您可以通过http://www.adobe.com/support/downloads/iccprofiles/iccprofiles_win.html直接从 Adobe 下载 ICC 文件
我唯一不知道的是如何保持透明度。我要使用的 EPS 具有透明背景,正在变成白色。不幸的是,我不能做类似image.transparent( "white" ) 这样的事情,因为我想要保持白色的图像中有白色。
如果我在上面的代码中取消注释puts image.alpha?,它会返回false。
有谁知道当前版本的 RMagick 是否可以实现我想要做的事情,因为我开始怀疑是否不支持导入具有透明度的 CMYK EPS。
谢谢!
【问题讨论】:
-
您是否考虑过将页面绘制为白色以外的其他颜色,然后将透明度设置为该颜色?电视使用“绿屏”,而不是白屏,因为绿色是一种不被使用的颜色。
标签: transparency rgb rmagick eps cmyk