【问题标题】:Rmagick / ImageMagick image creation using CMYK使用 CMYK 创建 Rmagick / ImageMagick 图像
【发布时间】:2014-06-11 15:29:54
【问题描述】:

基本上我是图像处理的新手,想知道是否有人可以在这里指导我。

我不想使用 imagemagick 和 rmagick 从头开始​​创建图像(比如说代码条图像)用于打印目的。我知道如何将 ColorSpace 设置为 CMYK(最适合打印)以及如何包含颜色配置文件。但是每当我尝试绘制条形时,CMYK 颜色就会出错。

这基本上就是我正在做的事情:

bcolor  =  "cmyk(0%, 100%, 100%, 0%)"  # background color Red
fcolor  =  "cmyk(0%, 0%, 0%, 100%)"    # foreground color Black

#Creating the Canvas
canvas = Magick::Image.new(100, 100){
  self.background_color = bcolor
}

canvas.add_profile("#{Rails.root}/my.icc")
canvas.colorspace=Magick::CMYKColorspace # Set CMYK color space

# Class to draw the bars
bars = Magick::Draw.new
bars.fill(fcolor) # Setting the bars color

# Lets draw only 2 bars
bars.rectangle(10, 0, 20, 100)
bars.rectangle(30, 0, 35, 100)

bars.draw(canvas)
blob = canvas.to_blob {self.format = 'jpg'}

File.open("test.jpg", 'w') do |f|
  f.write blob
end

即使背景颜色(红色)生成正确,条形也会以不同的颜色绘制。

我做了一些研究发现,如果我理解正确的话,Rmagick 的 Draw 类将不支持 cmyk,而是使用 sRGB 进行渲染。 http://www.multipole.org/discourse-server/viewtopic.php?t=11254&p=36074 ,因为来自 imagemagick 的 draw 就是这样工作的。

有什么方法可以使用这个工具在 CMYK 中绘制这些条吗?可能是Draw 类的解决方法?还是使用 CMYK 绘制条形的另一种方法?

提前致谢

还有……

ImageMagick 版本:2013-04-10 6.8.0-10

Rmagick:2.13.2

【问题讨论】:

    标签: ruby-on-rails image-processing imagemagick rmagick


    【解决方案1】:

    As answered by the admin in the official ImageMagick-Forum ImageMagick 的绘图引擎仅适用于 sRGB 色彩空间。因此,解决您的问题的唯一方法可能是在 sRGB 中绘制,然后将整个图像转换为 CMYK。

    this post中描述了如何将sRGB转换为CMYK

    【讨论】:

      猜你喜欢
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 2017-01-10
      • 2017-01-09
      • 1970-01-01
      相关资源
      最近更新 更多