有人知道如何使用RMagick调整图像的亮度吗? Rmagick有许多不同的功能,包括调节水平和色调/亮度/饱和度的功能,但我需要调整老式的亮度/对比度。
我可以通过自定义功能单独调整每个颜色通道(RGBA),但我不确定如何使用水平调整整体亮度。弄乱不同的频道已经产生了颜色变化的图像。在GIMP上,在级别菜单中,我想要的所需功能在“输出级别”下。通过将其拖动到255以下,我可以实现“变暗”效果。在RMagick中是否有某种等价物来控制输出电平?我没有看到它的频道。
示例:
这是原始图片:
这就是我想要的:
当我调整光线时,这就是发生的事情(Rmagick的调制)
答案 0 :(得分:1)
我认为这应该做你需要的。
img = Magick::Image.read('bT9xc.png')
img.first.level(-Magick::QuantumRange * 0.25, Magick::QuantumRange * 1.25, 1.0).write('out.png')
这将黑点和白点“远离”图像中的范围设置,这样可以使源图像中最亮的白色更暗,源图像中最暗的黑色更亮。
如果你想让它整体变暗,只需将第二个因子增加到Magick::QuantumRange * 1.5
或更高。
答案 1 :(得分:0)
我认为您可以使用modulate
方法:http://www.imagemagick.org/RMagick/doc/image2.html#modulate
因此,为了将亮度提高50%,它将类似于:
img.modulate(1.5)