如何调整颜色代码的色调?

时间:2011-09-12 06:55:34

标签: java android

也许有人知道Java(Android)中的一种方法是将HUE应用于颜色代码吗?

例如,如果我有#1589FF并且应用180 HUE,我应该得到#FF8B14。

2 个答案:

答案 0 :(得分:10)

这应该可以解决问题:

Color c = new Color(0x15, 0x89, 0xFF);

// Get saturation and brightness.
float[] hsbVals = new float[3];
Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), hsbVals);

// Pass .5 (= 180 degrees) as HUE
c = new Color(Color.HSBtoRGB(0.5f, hsbVals[1], hsbVals[2]));

答案 1 :(得分:0)

另一种实现此目的的方法

    /**
     * @param color the ARGB color to convert. The alpha component is ignored
     * @param hueFactor The factor of hue, an int [0 .. 360)
     * @return new color with the specified hue.
     */
    public int hue(int color, int hueFactor) {
        float[] hsl= new float[3];
        ColorUtils.colorToHSL(color,hsl);
        hsl[0]=hueFactor;
        return ColorUtils.HSLToColor(hsl);
    }