我花了很长时间尝试使用 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 下载 ICC 文件,网址为http://www.adobe.com/support/downloads/iccprofiles/iccprofiles_win.html
我唯一不知道的是如何保持透明度。我要使用的 EPS 具有透明背景,正在变成白色。不幸的是,我不能做类似的事情image.transparent( "white" )
,因为我想保持白色的图像中有白色。
如果我puts image.alpha?
在上面的代码中取消注释它会返回false
.
有谁知道我正在尝试使用当前版本的 RMagick 是否可行,因为我开始怀疑是否不支持导入具有透明度的 CMYK EPS。
谢谢!