/** * <p>Returns the RGB equivalent of a given HSL (Hue/Saturation/Luminance) * color.</p> * * @param h the hue component, between 0.0 and 1.0 * @param s the saturation component, between 0.0 and 1.0 * @param l the luminance component, between 0.0 and 1.0 * @return a new <code>Color</code> object equivalent to the HSL components */ public static Color HSLtoRGB(float h, float s, float l) { int[] rgb = HSLtoRGB(h, s, l, null); return new Color(rgb[0], rgb[1], rgb[2]); }
/** * <p>Returns the RGB equivalent of a given HSL (Hue/Saturation/Luminance) * color.</p> * * @param h the hue component, between 0.0 and 1.0 * @param s the saturation component, between 0.0 and 1.0 * @param l the luminance component, between 0.0 and 1.0 * @return a new <code>Color</code> object equivalent to the HSL components */ public static Color HSLtoRGB(float h, float s, float l) { int[] rgb = HSLtoRGB(h, s, l, null); return new Color(rgb[0], rgb[1], rgb[2]); }
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], dstHSL[1], srcHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override public void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], dstHSL[1], srcHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } };
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], dstHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], dstHSL[1], srcHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], dstHSL[1], srcHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override public void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } };
@Override public void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } };
@Override public void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } };
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], dstHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(dstHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], dstHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },
@Override public void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } };
@Override public void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], dstHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } };
@Override void blend(int[] src, int[] dst, int[] result) { float[] srcHSL = new float[3]; ColorUtilities.RGBtoHSL(src[0], src[1], src[2], srcHSL); float[] dstHSL = new float[3]; ColorUtilities.RGBtoHSL(dst[0], dst[1], dst[2], dstHSL); ColorUtilities.HSLtoRGB(srcHSL[0], srcHSL[1], dstHSL[2], result); result[3] = Math.min(255, src[3] + dst[3] - (src[3] * dst[3]) / 255); } },