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
/** * Shifts the hue by the offset specified * @param color/*from w w w .j a v a 2 s . c om*/ * @param offset * @return shifted color */ public static int shiftColorHue(int color, float offset) { float[] colorShiftHSV = new float[3]; Color.colorToHSV(color, colorShiftHSV); colorShiftHSV[0] = (colorShiftHSV[0] + offset) % 360; return Color.HSVToColor(colorShiftHSV); }
From source file:Main.java
public static int colorDarker(int color) { float[] hsv = new float[3]; Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; // value component return Color.HSVToColor(hsv); }
From source file:Main.java
/** * Gets a darker color.//w w w . j av a2 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 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 va2 s . com*/ return Color.HSVToColor(hsv); }
From source file:Main.java
/** * Gets a lighter color.//from w w w.j a v a 2s .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
public static int interpolate(int a, int b, float x) { float[] hsvA = new float[3]; float[] hsvB = new float[3]; Color.colorToHSV(a, hsvA); Color.colorToHSV(b, hsvB);/*from ww w . j av a2s . c o m*/ 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[] colorSelectionButtonBackgroundGradient(int color) { int[] gradientColors = new int[2]; float[] hsv = new float[3]; // darken/* ww w . java 2s. c o m*/ Color.colorToHSV(color, hsv); hsv[2] *= DARKEN_LIGHTEN_FACTOR; gradientColors[0] = Color.HSVToColor(hsv); // lighten Color.colorToHSV(color, hsv); hsv[2] = 1 - DARKEN_LIGHTEN_FACTOR * (1 - hsv[2]); gradientColors[1] = Color.HSVToColor(hsv); return gradientColors; }
From source file:Main.java
/** * Darken a color by the given percentage * @param color the color to darken/*from www.ja v a 2s . c om*/ * @param percent the amount to darken the color by. In range 0-1 * @return the darkened colour */ public static int darken(int color, float percent) { float[] hsv = new float[3]; Color.colorToHSV(color, hsv); hsv[2] *= 1 - percent; return Color.HSVToColor(hsv); }
From source file:Main.java
public static boolean isColorLight(int hex) { // convert hex string to int int rgb = Integer.parseInt(String.format("%d", hex), 16); int red = Color.red(hex); int green = Color.green(hex); int blue = Color.blue(hex); float[] hsb = new float[3]; Color.colorToHSV(hex, hsb); // float[] hsb = Color.RGBtoHSB(red, green, blue, null); float brightness = hsb[2]; return hsb[2] > 0.5; }
From source file:Main.java
private static int adjustColorBrightness(int argb, float factor) { final float[] hsv = new float[3]; Color.colorToHSV(argb, hsv); hsv[2] = Math.min(hsv[2] * factor, 1f); return Color.HSVToColor(Color.alpha(argb), hsv); }