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 shadeColor(int color, float shadeAmt) {
    float[] hsv = new float[3];
    Color.RGBToHSV(Color.red(color), Color.green(color), Color.blue(color), hsv);
    hsv[2] *= (1 - shadeAmt);/* w w w.j  ava 2 s .c  o m*/

    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int setColorLightness(int color, float light) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= Math.min(light, 1f); // value component
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int darkenColor(int color, float multiplier) {
    float[] hsv = new float[3];

    Color.colorToHSV(color, hsv);
    hsv[2] *= multiplier; // value component
    int darkColor = Color.HSVToColor(hsv);
    return darkColor;
}

From source file:Main.java

public static int getComplementaryColor(int colorToInvert) {
    float[] hsv = new float[3];
    Color.RGBToHSV(Color.red(colorToInvert), Color.green(colorToInvert), Color.blue(colorToInvert), hsv);
    hsv[0] = (hsv[0] + 180) % 360;//w w w  .  j  a  va2 s  . c  o m
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int amendColor(int color, float hsv0Factor, float hsv1Factor, float hsv2Factor) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[0] *= hsv0Factor;/*from  w w w .  ja  v  a 2  s.  c o  m*/
    hsv[1] *= hsv1Factor;
    hsv[2] *= hsv2Factor;
    color = Color.HSVToColor(hsv);
    return color;
}

From source file:Main.java

public static int getDarkerColor(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv); // convert to hsv
    // make darker
    hsv[1] = hsv[1] + 0.1f; // more saturation
    hsv[2] = hsv[2] - 0.1f; // less brightness
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int lighten(int color, float amount) {
    float hsv[] = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[1] = Math.max(0f, Math.min(1f, hsv[1] - amount)); // saturation
    hsv[2] = Math.max(0f, Math.min(1f, hsv[2] + amount)); // brightness
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int hsvToColor(int[] hsv) {
    assert (hsv.length == 3);

    float[] hsv_float = new float[3];

    hsv_float[0] = hsv[0];
    hsv_float[1] = (float) hsv[1] / 100;
    hsv_float[2] = (float) hsv[2] / 100;

    return Color.HSVToColor(hsv_float);
}

From source file:Main.java

/**
 * @param H Hue angle/360 (0..1)/* w  w  w .  j  av a  2 s  .  c om*/
 * @param S Saturation (0..1)
 * @param B Value (0..1)
 * @return RGB values
 */
public static int[] HSBtoRGB(double H, double S, double B) {
    int[] result = new int[3];
    int rgb = Color.HSVToColor(new float[] { (float) H, (float) S, (float) B });
    result[0] = (rgb >> 16) & 0xff;
    result[1] = (rgb >> 8) & 0xff;
    result[2] = (rgb >> 0) & 0xff;
    return result;
}

From source file:Main.java

public static int generateColor() {
    Random random = new Random();

    final float hue = random.nextInt(360);
    final float saturation = (random.nextInt(7000) + 2000) / 10000f;
    final float luminance = 0.3f;
    float[] hsv = { hue, saturation, luminance };
    return Color.HSVToColor(hsv);
}