【问题标题】:Using rmagick to colorize an image like in photoshop使用 rmagick 像在 Photoshop 中一样为图像着色
【发布时间】:2015-06-09 17:38:45
【问题描述】:

所以我有这个基本图像:

在 Photoshop 中,我使用 rgb 颜色进行基本图层颜色叠加:

r:244,g:93,b:0

这给了我惊人的活力:

我要做的是在 rmagick 中为同一图像着色,所以如果我执行以下着色:

  img = Magick::Image.read('brush.png').first
  img = img.colorize(100, 100, 100, Magick::Pixel.new(244, 93, 0, 1))
  img.format = 'png'
  img.to_blob

它给了我这个真正褪色的橙色图像:

我的问题是,如何使用 imagemagick / rmagick 中的那些 rgb 参数为该图像着色,以获得与我在 Photoshop 中获得的相同的鲜艳色彩。

谢谢。

【问题讨论】:

    标签: image colors imagemagick rmagick colorize


    【解决方案1】:

    在命令行,我想你想要这样的东西:

    convert brush.png \( +clone -fill "rgb(244,93,0)" -colorize 100% \) -compose colorize  -composite out.png
    

    所以,使用+clone,我正在创建另一个与您的图像大小相同的图层,并用您的橙色完全填充 100%,然后使用-composite 在您的图像上组合它混合不透明度和颜色。

    我真的不会说 Ruby,但我认为应该是这样的:

    #!/usr/bin/ruby
    
    require 'RMagick'
    include Magick
    infile=ARGV[0]
    img=Magick::Image.read(infile).first
    w=img.columns
    h=img.rows
    ovl=Image.new(w,h){self.background_color=Magick::Pixel.new(244*256,93*256,0)}
    img.composite!(ovl,0,0,Magick::ColorizeCompositeOp)
    img.write('result.png')
    

    【讨论】:

    • 非常感谢! ...但我希望在 rmagick 中做到这一点,不知道如何在 ruby​​ 中进行转换。这也不完全正确,看看边缘周围的“污迹”如何不是白色的,而是暗淡和灰色的。那里充满活力的白色也非常重要。我非常感谢您的帮助。
    • 你在 imagemagick 上安装了什么版本?这可能会有所作为。
    【解决方案2】:

    Mark Setchell 的命令行适用于我 (Windows),稍作修改...

    convert greyscale.png +clone -fill "rgb(244,93,0)" -colorize 100% -compose colorize -composite colour.png
    

    在使用 rmagick 重新着色时找到此链接... ftp://belagro.com/Redmine/ruby/lib/ruby/gems/1.8/gems/rmagick-2.12.0/doc/colorize.rb.html

    根据上面链接中的代码,去掉灰度转换后,下面的例子是否有效(我没有 ruby​​)?

    # load the greyscale image
    img = Magick::Image.read('greyscale.png').first
    # Colorize with a 100% blend of the orange color
    colorized = img.colorize(1, 1, 1, '#A50026')
    # save the colour image
    colorized.write('colour.png')
    

    使用颜色选择器获取橙色的十六进制 - rgb(244,93,0) = #A50026

    【讨论】:

      猜你喜欢
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      相关资源
      最近更新 更多