HslColor.fromRGB constructor
Returns an HslColor from RGB
Implementation
factory HslColor.fromRGB(int r, int g, int b) {
final maxValue = [r, g, b].max / 255;
final minValue = [r, g, b].min / 255;
final delta = maxValue - minValue;
final l = (maxValue + minValue) / 2;
final s = delta / (1 - (2 * l - 1).abs());
if (delta == 0) {
return HslColor(h: 0, s: 0, l: l);
}
double h;
if (maxValue == r / 255) {
h = 60 * (((g / 255 - b / 255) / delta) % 6);
} else if (maxValue == g / 255) {
h = 60 * ((b / 255 - r / 255) / delta + 2);
} else {
h = 60 * ((r / 255 - g / 255) / delta + 4);
}
return HslColor(h: h, s: s * 100, l: l * 100);
}