首页 文章

RMagick - 调整亮度?

提问于
浏览
1

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

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

例子:

这是原始图像:
Original Image

这就是我想要的:
Desired Result

这是我调整光亮时的重点(Rmagick的调制)
Undesired Result from Lightness

2 回答

  • 0

    我认为这应该做你需要的 .

    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

    我想你可以使用 modulate 方法:http://www.imagemagick.org/RMagick/doc/image2.html#modulate

    因此,要将亮度提高50%,它将是这样的:

    img.modulate(1.5)
    

相关问题