1

有谁知道如何使用 RMagick 调整图像的亮度?Rmagick 有许多不同的功能可用,包括调整级别和色调/亮度/饱和度级别的功能,但我需要调整老式的亮度/对比度级别。

我有自定义功能可以单独调整每个颜色通道(RGBA),但我不确定如何使用级别来调整整体亮度。混用不同的通道会产生颜色改变的图像。在 GIMP 上,在级别菜单中,我想要的功能位于“输出级别”下。通过将其拖到 255 以下,我可以实现“变暗”效果。RMagick 中是否有某种等价物来控制输出电平?我没有看到它的频道。

例子:

这是原始图像: 原始图像

这就是我要的: 期望的结果

当我调整亮度时会发生这种情况(Rmagick 的调制) 亮度的不良结果

4

2 回答 2

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或更高。

于 2013-11-04T23:17:00.473 回答
0

我认为您可以使用该modulate方法:http ://www.imagemagick.org/RMagick/doc/image2.html#modulate

因此,要将亮度提高 50%,如下所示:

img.modulate(1.5)
于 2013-11-04T20:03:45.153 回答