Example usage for android.graphics Color HSVToColor

List of usage examples for android.graphics Color HSVToColor

Introduction

In this page you can find the example usage for android.graphics Color HSVToColor.

Prototype

@ColorInt
public static int HSVToColor(@Size(3) float hsv[]) 

Source Link

Document

Convert HSV components to an ARGB color.

Usage

From source file:Main.java

public static int generateRandomColour(long seed) {
    Random random = new Random(seed);
    int color = Color.argb(random.nextInt(), random.nextInt(), random.nextInt(), random.nextInt());

    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);

    //Adjust the saturation value, less than 1 is darker, greater than 1 is brighter
    hsv[2] *= 0.8;/* w w w . j  a v a2 s. c o m*/
    return Color.HSVToColor(hsv);
}

From source file:Main.java

/**
 * Gets a darker color.//from   w w  w .java  2 s .  c om
 * @param color the color to darken
 * @return the newly darkened color.
 */
public static int getDarkerColor(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= 0.80f * hsv[2];
    if (hsv[2] > 1) {
        hsv[2] = 1.0f;
    } else if (hsv[2] < 0) {
        hsv[2] = 0.0f;
    }
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int interpolate(int a, int b, float x) {
    float[] hsvA = new float[3];
    float[] hsvB = new float[3];
    Color.colorToHSV(a, hsvA);/*  www .  j a v a 2  s.c om*/
    Color.colorToHSV(b, hsvB);
    for (int i = 0; i < 3; i++) {
        hsvB[i] = interpolate(hsvA[i], hsvB[i], x);
    }
    return Color.HSVToColor(hsvB);
}

From source file:Main.java

public static int randomColor() {
    // http://developer.android.com/reference/android/graphics/Color.html#HSVToColor%28float%5B%5D%29
    float hue = new Random().nextInt(360); // 0 - 360
    float saturation = randomInRange(0.5f, 0.8f); // 0.5 to 0.8, away from white. but not too intense
    float brightness = randomInRange(0.5f, 0.8f); // 0.5 to 0.8, away from black, but not too light

    return Color.HSVToColor(new float[] { hue, saturation, brightness });
}

From source file:Main.java

/**
 * Gets a lighter color.//from w w w  .  j  a  va 2  s .  com
 * @param color the color to lighten.
 * @return the newly lightened color.
 */
public static int getLigherColor(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    float value = 1.0f - 0.6f * (1.0f - hsv[2]);
    if (value > 1) {
        hsv[2] = 1.0f;
    } else if (value < 0) {
        hsv[2] = 0.0f;
    } else {
        hsv[2] = value;
    }
    return Color.HSVToColor(hsv);
}

From source file:Main.java

/**
 * Darkens the given color to use on the status bar.
 * @param color Brand color of the website.
 * @return Color that should be used for Android status bar.
 *//*from  w  w w. j av a2  s . c  om*/
public static int computeStatusBarColor(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= DARKEN_COLOR_FRACTION;
    return Color.HSVToColor(hsv);
}

From source file:Main.java

/**
 * Darkens the given color to use on the status bar.
 * @param color Color which should be darkened.
 * @return Color that should be used for Android status bar.
 *///from   ww  w.  java2  s  .  c o m
public static int getDarkenedColorForStatusBar(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= DARKEN_COLOR_FRACTION;
    return Color.HSVToColor(hsv);
}

From source file:Main.java

/**
 * Change light value of a color.//from  w  w w.  j  a v a  2s .  co m
 * <p>
 * <b>Warning:</b> Removes alpha channel. Only pass colors with alpha = {@code 0xFF}.
 * </p>
 *
 * @param color      The {@link Color} {@code int} to use.
 * @param multiplier The {@code float} multiplier to apply to the light value.
 * @return A modified {@link Color} {@code int}.
 */
public static int enlightColor(int color, float multiplier) {
    float[] hsv = new float[3];
    Color.RGBToHSV(Color.red(color), Color.green(color), Color.blue(color), hsv);
    hsv[2] = hsv[2] * multiplier;
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int getTempColor(Double temp) {
    float hue;//w w w  .  ja  v a2s . c om
    if (temp >= TEMP_UPPER) {
        hue = BAD;
    } else if (temp <= TEMP_LOWER) {
        hue = GOOD;
    } else {
        hue = GOOD - (temp.floatValue() - TEMP_LOWER) / (TEMP_UPPER - TEMP_LOWER) * (GOOD - BAD) + BAD;
    }
    return Color.HSVToColor(new float[] { hue, SATURATION, VALUE });
}

From source file:Main.java

/**
 * @param pHue [0 .. 360)/* w w  w. j  a va 2s.  co m*/
 * @param pSaturation [0...1]
 * @param pValue [0...1]
 */
public static int HSVToColor(final float pHue, final float pSaturation, final float pValue) {
    HSV_TO_COLOR[HSV_TO_COLOR_HUE_INDEX] = pHue;
    HSV_TO_COLOR[HSV_TO_COLOR_SATURATION_INDEX] = pSaturation;
    HSV_TO_COLOR[HSV_TO_COLOR_VALUE_INDEX] = pValue;
    return Color.HSVToColor(HSV_TO_COLOR);
}