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 setMinValue(int color, float newValue) {
    float hsv[] = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] = Math.max(hsv[2], newValue);
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static synchronized int getDarkerColor(final int color) {
    // Get darker color
    final float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= 0.7f;//from w  w  w  . jav a  2 s. co m
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static synchronized int getStackedBackgroundColor(final int color) {
    // Get darker color
    final float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= 0.2f;/*from  www . j  ava2  s  .  c o  m*/
    return Color.HSVToColor(hsv);
}

From source file:Main.java

/**
 * Darken a color to a fraction of its current brightness.
 * @param color The input color.//from  www  . ja v a  2s .  c  o m
 * @param darkenFraction The fraction of the current brightness the color should be.
 * @return The new darkened color.
 */
public static int getDarkenedColor(int color, float darkenFraction) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= darkenFraction;
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static synchronized int getLighterColor(final int color) {
    // Get lighter color
    final float[] hsv = new float[3];

    Color.colorToHSV(color, hsv);
    hsv[1] *= 0.2f; // Saturation
    hsv[2] *= 1.5f; // Value
    return Color.HSVToColor(hsv);
}

From source file:Main.java

private static int setHSVParameter(int color, float newValue, int index) {
    float hsv[] = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[index] = newValue;//from www  . j  a va 2s . com
    return Color.HSVToColor(hsv);
}

From source file:Main.java

public static synchronized GradientDrawable getGradiant(final int color) {
    int[] colors;
    int darkerColor;
    // Get darker color
    final float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= 0.9f; // value component
    darkerColor = Color.HSVToColor(hsv);

    colors = new int[2];
    colors[0] = darkerColor;// w w w .  java  2  s .c o m
    colors[1] = color;

    final GradientDrawable d = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, colors);
    d.setDither(true);

    return d;
}

From source file:Main.java

public static Bitmap filterImage(Bitmap src) {
    if (src == null) {
        return null;
    }//  w  ww  .java 2s .c o m

    final float minV = 0.7f;
    final float maxV = 0.85f;

    float[] hsvVals = getMainHSV(src);
    float deltaV = 0;
    if (hsvVals[2] < minV) {
        deltaV = minV - hsvVals[2];
    } else if (hsvVals[2] > maxV) {
        deltaV = maxV - hsvVals[2];
        if (hsvVals[1] < 0.1f) {
            deltaV *= 2;
        }
    }
    if (Math.abs(deltaV) < 0.0001f) {
        return src;
    }

    int w = src.getWidth();
    int h = src.getHeight();
    int[] pixels = new int[w * h];
    src.getPixels(pixels, 0, w, 0, 0, w, h);
    float[] HSV = new float[3];
    int index = 0;
    for (int y = 0; y < h; ++y) {
        for (int x = 0; x < w; ++x) {
            Color.colorToHSV(pixels[index], HSV);
            HSV[2] = clamp(HSV[2] + deltaV, 0f, 1f);
            pixels[index] = perferBlue(Color.HSVToColor(HSV));
            ++index;
        }
    }
    return Bitmap.createBitmap(pixels, w, h, Bitmap.Config.ARGB_8888);
}

From source file:Main.java

public static int getDarkerColor(final int color, final float ratio) {
    // Get darker color
    final float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[2] *= ratio;/*from   w  w  w .jav  a  2  s  .co m*/
    return Color.HSVToColor(hsv);
}

From source file:Main.java

/**
 * For devices with Jellybean or later, darkens the given color to ensure that white text is
 * clearly visible on top of it.  For devices prior to Jellybean, does nothing, as the
 * sync adapter handles the color change.
 *
 * @param color//from ww  w.j a va2s .com
 */
public static int getDisplayColorFromColor(int color) {
    float[] hsv = new float[3];
    Color.colorToHSV(color, hsv);
    hsv[1] = Math.min(hsv[1] * SATURATION_ADJUST, 1.0f);
    hsv[2] = hsv[2] * INTENSITY_ADJUST;
    return Color.HSVToColor(hsv);
}