toHex method
Implementation
@override
String toHex() {
var _r, _g, _b, _i, _f, _p, _q, _t;
final _h = h / 360;
final _s = s / 100;
final _v = b / 100;
_i = (_h * 6).floor();
_f = _h * 6 - _i;
_p = _v * (1 - _s);
_q = _v * (1 - _f * _s);
_t = _v * (1 - (1 - _f) * _s);
switch (_i % 6) {
case 0:
_r = _v;
_g = _t;
_b = _p;
break;
case 1:
_r = _q;
_g = _v;
_b = _p;
break;
case 2:
_r = _p;
_g = _v;
_b = _t;
break;
case 3:
_r = _p;
_g = _q;
_b = _v;
break;
case 4:
_r = _t;
_g = _p;
_b = _v;
break;
case 5:
_r = _v;
_g = _p;
_b = _q;
break;
}
Function toHex = (double x) {
var hex = (x * 255).round().toRadixString(16);
return hex.length == 1 ? '0' + hex : hex;
};
return "#" + toHex(_r) + toHex(_g) + toHex(_b);
}