saturation static method
Saturation adjustment
Implementation
static List<double> saturation(double value) {
value = value * 100;
if (value == 0) {
return <double>[
1,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
1,
0,
];
}
final double x = 1 + ((value > 0) ? ((3 * value) / 100) : (value / 100));
const double lumR = 0.3086;
const double lumG = 0.6094;
const double lumB = 0.082;
return List<double>.from(<double>[
(lumR * (1 - x)) + x,
lumG * (1 - x),
lumB * (1 - x),
0,
0,
lumR * (1 - x),
(lumG * (1 - x)) + x,
lumB * (1 - x),
0,
0,
lumR * (1 - x),
lumG * (1 - x),
(lumB * (1 - x)) + x,
0,
0,
0,
0,
0,
1,
0,
]).map((double i) => i).toList();
}