Android 如何使用LightingColorFilter使图像由暗变亮

Android 如何使用LightingColorFilter使图像由暗变亮,android,graphics,image-processing,Android,Graphics,Image Processing,我想添加图像的灯光,我想使用LightingColorFilter LightingColorFilter lcf = new LightingColorFilter( mul, add); imageView.setColorFilter(lcf); 但是我不知道如何调整mul,add,你能给出一些链接、代码或参数来调整图像的光线吗 谢谢整数值是颜色(您可能想在这里仔细查看一下) 使用4个字节,一个用于alpha,一个用于红色,一个用于绿色,一个用于蓝色范围-每个字节的范围为0到255(十

我想添加图像的灯光,我想使用
LightingColorFilter

LightingColorFilter lcf = new LightingColorFilter( mul, add); 
imageView.setColorFilter(lcf);
但是我不知道如何调整
mul,add
,你能给出一些链接、代码或参数来调整图像的光线吗


谢谢

整数值是颜色(您可能想在这里仔细查看一下)
使用4个字节,一个用于alpha,一个用于红色,一个用于绿色,一个用于蓝色范围-每个字节的范围为0到255(十六进制0到FF)

所以十六进制的颜色看起来像

0 x 00     00   00    00
    alpha  red  green blue
如果要将例如red设置为零,请使用

mul: 0xFF00FFFF
add: 0x00000000
如果您想强制blue完全打开,请使用

mul: 0xFFFFFFFF
add: 0x000000FF 
1-现在您可以显示我的\u位图

2-现在我的\u位图的亮度增加了约50%

3-您可以更改(mul,add)以了解工作方式


4-也可以在其他图形方法中使用my_paint

我喜欢这些完整的解释和记录的答案,但要添加一个提示:要变亮,请使用mul:0xFFFFFFFF和add:0x0022222(例如22)@Darkendorf,如何变暗?要变暗,请使用mul,其中G和B等于数量,0xFF000000将变暗为0 aka黑色,0xFF808080将是50%的黑色覆盖层。希望如此!不鼓励只使用代码的答案,因为它们不能提供问题如何解决的洞察力。请更新您的答案,包括您的代码如何解决OP问题的解释
Canvas canvas= new Canvas(my_bitmap); // create canvas from bitmap
Paint my_paint = new Paint(); // create Paint from bitmap

my_paint.setColorFilter(new LightingColorFilter(0x77777777, 0x77777777));//(mul, add)

canvas.drawBitmap(my_bitmap, 0, 0, my_paint );