你如何修改HSV值(hsv [1],hsv [1],hsv [2])?

时间:2015-05-10 03:42:33

标签: android view hsv

我有一个扩展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并知道每个值。

1 个答案:

答案 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 satval可以是任何用户定义或计算的值。