Java HSL Color Convert hslToRgb(float[] hsl)

Here you can find the source of hslToRgb(float[] hsl)

Description

Converts an HSL color value to RGB.

License

LGPL

Parameter

Parameter Description
l The lightness

Return

Array The RGB representation

Declaration

public static float[] hslToRgb(float[] hsl) 

Method Source Code

//package com.java2s;
//License from project: LGPL 

public class Main {
    /**/*from   w w w. j ava 2  s  . co  m*/
     * Converts an HSL color value to RGB. Conversion formula
     * adapted from http://en.wikipedia.org/wiki/HSL_color_space.
     * Assumes h, s, and l are contained in the set [0, 1] and
     * returns r, g, and b in the set [0, 255].
     *
     * @param   Number  h       The hue
     * @param   Number  s       The saturation
     * @param   Number  l       The lightness
     * @return  Array           The RGB representation
     */
    public static float[] hslToRgb(float[] hsl) {
        float r, g, b;
        float h, s, l;
        h = hsl[0];
        s = hsl[1];
        l = hsl[2];

        if (s == 0) {
            r = g = b = l; // achromatic
        } else {

            float q = l < 0.5 ? l * (1 + s) : l + s - l * s;
            float p = 2 * l - q;
            r = hue2rgb(p, q, h + 1 / 3);
            g = hue2rgb(p, q, h);
            b = hue2rgb(p, q, h - 1 / 3);
        }

        return new float[] { r, g, b };
    }

    private static float hue2rgb(float p, float q, float t) {
        if (t < 0)
            t += 1;
        if (t > 1)
            t -= 1;
        if (t < 1 / 6)
            return p + (q - p) * 6 * t;
        if (t < 1 / 2)
            return q;
        if (t < 2 / 3)
            return p + (q - p) * (2 / 3 - t) * 6;
        return p;
    }
}

Related

  1. hslToRgb(double h, double s, double l)
  2. hslToRgb(double hue, double sat, double lum)
  3. HSLtoRGB(float h, float s, float l)
  4. HslToRgb(float h, float s, float l, float a)
  5. HSLtoRGB(float hue, float sat, float lum)
  6. HSLtoRGB(float[] hsl)
  7. hslToRGB(int h, float s, float l)
  8. hueFromColor(Color c)