List of usage examples for android.graphics Color colorToHSV
public static void colorToHSV(@ColorInt int color, @Size(3) float hsv[])
From source file:Main.java
/** * Darken a color to a fraction of its current brightness. * @param color The input color./*from ww w . j a va 2 s. 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
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 . j a v a 2s . c o 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;/* ww w. j a v a2 s .c o m*/ return Color.HSVToColor(hsv); }
From source file:Main.java
public static Bitmap filterImage(Bitmap src) { if (src == null) { return null; }/*ww w . j a va2 s. co 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 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;//from www.j a va 2 s .co m colors[1] = color; final GradientDrawable d = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, colors); d.setDither(true); return d; }
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 w ww . ja v 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 w w w . ja v a2 s. c om */ 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); }
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 ww w . j a v a 2s . c o m*/ return Color.HSVToColor(hsv); }
From source file:Main.java
/** * Lighten a color by a specific factor. * //from w w w. j a v a2s .c om * @param color the color to lighten * @param factor the factor to apply; e.g. 150 makes the color 50% brighter, 50 * makes the color 50% darker, 100 makes no change. * * @return the lightened version of the color */ public static int lightenColor(int color, int factor) { float[] hsv = new float[3]; Color.colorToHSV(color, hsv); float s = hsv[1]; float v = hsv[2] * factor / 100.0f; if (v > 1.0f) { // Value has overflowed, so adjust the saturation instead. s -= v - 1.0f; if (s < 0) s = 0; v = 1.0f; } hsv[1] = s; hsv[2] = v; return Color.HSVToColor(hsv); }