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 GetVoltsColor(Double volts) {
    float hue;// w  w  w. ja  v  a2  s  . c om
    if (volts >= VOLTAGE_UPPER) {
        hue = GOOD;
    } else if (volts <= VOLTAGE_LOWER) {
        hue = BAD;
    } else {
        hue = (volts.floatValue() - VOLTAGE_LOWER) / (VOLTAGE_UPPER - VOLTAGE_LOWER) * (GOOD - BAD) + BAD;
    }
    return Color.HSVToColor(new float[] { hue, SATURATION, VALUE });
}

From source file:Main.java

public static Bitmap applySaturationFilter(Bitmap source, int level) {
    int width = source.getWidth();
    int height = source.getHeight();
    int[] pixels = new int[width * height];
    float[] HSV = new float[3];
    source.getPixels(pixels, 0, width, 0, 0, width, height);

    int index = 0;
    for (int y = 0; y < height; ++y) {
        for (int x = 0; x < width; ++x) {
            index = y * width + x;//from www . j  av  a 2s.c  o  m
            Color.colorToHSV(pixels[index], HSV);
            HSV[1] *= level;
            HSV[1] = (float) Math.max(0.0, Math.min(HSV[1], 1.0));
            pixels[index] |= Color.HSVToColor(HSV);
        }
    }
    Bitmap bmOut = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    bmOut.setPixels(pixels, 0, width, 0, 0, width, height);
    return bmOut;
}

From source file:Main.java

/**
 *
 * @param color/*from  w  ww.ja va 2  s  . c o  m*/
 * @return
 */
public static int getDarkenedColor(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= 0.8f;
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int getComplementaryColor(int color) {
    float[] hsv = new float[3];
    Color.RGBToHSV(Color.red(color), Color.green(color), Color.blue(color), hsv);
    hsv[0] = (hsv[0] + 180) % 360;//from w w  w  .  jav  a  2s.  com
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static int GetRPMColor(Double rpm) {
    float hue;// w  w w . j a  v  a  2  s .co  m
    if (rpm >= RPM_HIGH || rpm <= RPM_LOW) {
        hue = BAD;
    } else if (rpm == RPM_ECO) {
        hue = GOOD;
    } else if (rpm < RPM_ECO) {
        hue = (rpm.floatValue() - RPM_LOW) / (RPM_ECO - RPM_LOW) * (GOOD - BAD) + BAD;
    } else {
        hue = GOOD - (rpm.floatValue() - RPM_ECO) / (RPM_HIGH - RPM_ECO) * (GOOD - BAD) + BAD;
    }
    return Color.HSVToColor(new float[] { hue, SATURATION, VALUE });
}

From source file:Main.java

public static int GetAmpsColor(Double amps) {
    float hue;// ww w. jav a  2 s .  co m
    if (amps >= AMPS_HIGH || amps <= AMPS_LOW) {
        hue = BAD;
    } else if (amps == AMPS_ECO) {
        hue = GOOD;
    } else if (amps < AMPS_ECO) {
        hue = (amps.floatValue() - AMPS_LOW) / (AMPS_ECO - AMPS_LOW) * (GOOD - BAD) + BAD;
    } else {
        hue = GOOD - (amps.floatValue() - AMPS_ECO) / (AMPS_HIGH - AMPS_ECO) * (GOOD - BAD) + BAD;
    }
    return Color.HSVToColor(new float[] { hue, SATURATION, VALUE });
}

From source file:Main.java

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

From source file:Main.java

public static int brighter(int color, float factor) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= (1f + factor); // value component
    for (int i = 1; i < hsv.length; i++) {
        hsv[i] = Math.min(1.0f, hsv[i]);
    }/*from w  w w.  ja v a 2s. c om*/
    color = Color.HSVToColor(hsv);
    return color;
}

From source file:Main.java

public static int getContrastColor(int color) {
    float[] hsv = new float[3];
    Color.RGBToHSV(Color.red(color), Color.green(color), Color.blue(color), hsv);
    if (hsv[2] < 0.5) {
        hsv[2] = 0.7f;/*  w w w.ja  v  a 2s. co  m*/
    } else {
        hsv[2] = 0.3f;
    }
    hsv[1] = hsv[1] * 0.2f;
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static Bitmap createIdenticon(byte[] hash, int background) {
    Bitmap identicon = Bitmap.createBitmap(5, 5, Bitmap.Config.ARGB_8888);

    float[] hsv = { Integer.valueOf(hash[3] + 128).floatValue() * 360.0f / 255.0f, 0.8f, 0.8f };
    int foreground = Color.HSVToColor(hsv);

    for (int x = 0; x < 5; x++) {
        //Enforce horizontal symmetry
        int i = x < 3 ? x : 4 - x;
        for (int y = 0; y < 5; y++) {
            int pixelColor;
            //toggle pixels based on bit being on/off
            if ((hash[i] >> y & 1) == 1)
                pixelColor = foreground;
            else//from   w  ww.j  a  v  a2s .  c  o  m
                pixelColor = background;
            identicon.setPixel(x, y, pixelColor);
        }
    }

    Bitmap bmpWithBorder = Bitmap.createBitmap(48, 48, identicon.getConfig());
    Canvas canvas = new Canvas(bmpWithBorder);
    canvas.drawColor(background);
    identicon = Bitmap.createScaledBitmap(identicon, 46, 46, false);
    canvas.drawBitmap(identicon, 1, 1, null);

    return bmpWithBorder;
}