所以我有这个基本形象:
在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中获得的相同的鲜艳色彩。
感谢。
答案 0 :(得分:3)
在命令行,我想你想要这样的东西:
convert brush.png \( +clone -fill "rgb(244,93,0)" -colorize 100% \) -compose colorize -composite out.png
所以,使用+clone
我创建了另一个与图片大小相同的图层,并使用橙色完全填充100%,然后用图片在图像上组合 {1}}混合不透明度和颜色。
我真的不会说Ruby,但我认为它将遵循这些方针:
-composite
答案 1 :(得分: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