hexToHsb function
Implementation
HSB hexToHsb(String hex) {
final rgb = hexToRgb(hex);
final r = rgb.r;
final g = rgb.g.toDouble();
final b = rgb.b;
final maximum = max(max(r, g), b);
final minimum = min(r, min(g, b));
final d = maximum - minimum;
final s = maximum == 0 ? 0 : d / maximum;
final v = maximum / 255;
late double h;
if (maximum == minimum) {
h = 0;
} else if (maximum == r) {
h = (g - b) + d * (g < b ? 6 : 0);
h /= 6 * d;
} else if (maximum == g) {
h = (b - r) + d * 2;
h /= 6 * d;
} else if (maximum == b) {
h = (r - g) + d * 4;
h /= 6 * d;
}
return HSB(
h: (h * 3600).roundToDouble() / 10,
s: (s * 1000).roundToDouble() / 10,
b: (v * 1000).roundToDouble() / 10,
);
}