Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RMagick-调整亮度?_Ruby On Rails_Ruby_Imagemagick_Rmagick - Fatal编程技术网

Ruby on rails RMagick-调整亮度?

Ruby on rails RMagick-调整亮度?,ruby-on-rails,ruby,imagemagick,rmagick,Ruby On Rails,Ruby,Imagemagick,Rmagick,有人知道如何使用RMagick调整图像的亮度吗?Rmagick有许多不同的功能可用,包括调整色相/亮度/饱和度级别和色相/亮度/饱和度级别,但我需要调整老式的亮度/对比度级别 有一些自定义函数可以让我单独调整每个颜色通道(RGBA),但我不知道如何使用级别来调整整体亮度。混用不同的通道会产生颜色变化的图像。在GIMP的“级别”菜单中,我想要的功能位于“输出级别”下。通过将其拖动到255以下,我可以实现“变暗”效果。RMagick中是否有某种等价物来控制输出水平?我看不到它的频道 示例: 这是原始

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

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

示例:

这是原始图像:

这就是我想要的:

这就是我调整亮度时发生的情况(Rmagick的调制)

我认为您可以使用
调制方法:

因此,要将亮度提高50%,大致如下:

img.modulate(1.5)

我认为您可以使用
调制
方法:

因此,要将亮度提高50%,大致如下:

img.modulate(1.5)

我认为这应该满足你的需要

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

我认为这应该满足您的需要

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

好——因此增加HSL亮度是不够的,您需要同时增加对比度和亮度,本质上是这样的。RMagick::Image类有一个
级别
函数,您可以在其中指定一个范围,该范围应该正是您所需要的。如果我在电脑前,我会给你一个小例子:)(如果你还没有得到你需要的东西,我会稍后再试)谢谢你——我一直在玩弄RMagick的level和level_通道功能,但当我调整中间音时,它会不断将我的白色变成黄色。我真的想把它变成灰色(?),有点像当你在一个普通的蹩脚的照片编辑器中调低照片的亮度。嘿,你可能想用你想要实现的那种变换来显示同一张图像的“之前”和“之后”。(我不完全清楚你想要什么。)为澄清而添加的图像——谢谢你的建议。好吧——所以增加HSL亮度是不够的,你需要同时增加对比度和亮度,基本上。RMagick::Image类有一个
级别
函数,您可以在其中指定一个范围,该范围应该正是您所需要的。如果我在电脑前,我会给你一个小例子:)(如果你还没有得到你需要的东西,我会稍后再试)谢谢你——我一直在玩弄RMagick的level和level_通道功能,但当我调整中间音时,它会不断将我的白色变成黄色。我真的想把它变成灰色(?),有点像当你在一个普通的蹩脚的照片编辑器中调低照片的亮度。嘿,你可能想用你想要实现的那种变换来显示同一张图像的“之前”和“之后”。(我不完全清楚你想要什么。)为澄清而添加的图像——谢谢你的建议。调制改变亮度(色调、饱和度、亮度),这与亮度不同。。。它扭曲了颜色。我刚从我链接的文档中走出来,上面说“改变亮度、饱和度和色调”。它们也提供了一个例子。不管怎样,我不确定你所说的亮度和亮度有什么不同。亮度和亮度的区别在原始问题中加上了图片。谢谢调制改变亮度(色调,饱和度,亮度),这是不同于亮度。。。它扭曲了颜色。我刚从我链接的文档中走出来,上面说“改变亮度、饱和度和色调”。它们也提供了一个例子。不管怎样,我不确定你所说的亮度和亮度有什么不同。亮度和亮度的区别在原始问题中加上了图片。谢谢嘿@struthersneil你有MiniMagick的等价物吗?什么是
Magick::QuantumRange
?嘿@struthersneil,你有MiniMagick的等价物吗?什么是
Magick::QuantumRange