toCielabColor method
Implementation
@override
CielabColor toCielabColor() {
var lab = <String, num>{};
var xyz = <String, num>{};
toMap().forEach((String key, num value) {
value /= referenceWhite[key];
if (value > 0.008856) {
value = pow(value, 1 / 3);
} else {
value = (7.787 * value) + 16 / 116;
}
xyz[key] = value;
});
lab['l'] = (116 * xyz['y']!) - 16;
lab['a'] = 500 * (xyz['x']! - xyz['y']!);
lab['b'] = 200 * (xyz['y']! - xyz['z']!);
return CielabColor(lab['l']!, lab['a']!, lab['b']!);
}