我有一个扩展View的类。该类在包含搜索条的片段中创建。
使用下面的代码,我通过seekbar.setSatVal(value)
将搜索栏值传递给视图类。
public void setSatValue(float value){
mValue = value/100; //seekbar goes from 0 to 100
setVal(mValue);
}
然后我从我传递的位图中获取RGB值(未在代码中显示)并将它们转换为HSV值。
int mPixel = mBitmap.getPixel(1,1);
hsv = new float[3];
r = Color.red(mPixel);
g = Color.blue(mPixel);
b = Color.green(mPixel);
Color.RGBToHSV(r, g, b, hsv);
我知道我必须使用Color.HSVToColor
将HSV值转换回颜色。
如何修改HSV值? hue:hsv [0],饱和度:hsv 1,值:hsv [2]我读过color documentation并知道每个值。
答案 0 :(得分:0)
正如所建议的,这应该可行,因为我在Android中实现了相同的功能 -
float[] hsv = new float[3];
Color.RGBToHSV(red,green,blue,hsv);
hsv[0]=hue; //hue
hsv[1]=sat; //saturation
hsv[2]=val; //brightness
hue
sat
和val
可以是任何用户定义或计算的值。