relativeLuminance static method
The relative luminance of color, in the range [0, 1].
color's alpha is ignored — composite it over its background first
with compositeOver if it isn't already opaque.
Implementation
static double relativeLuminance(Color color) {
double linearize(double channel) {
return channel <= 0.03928
? channel / 12.92
: math.pow((channel + 0.055) / 1.055, 2.4).toDouble();
}
final r = linearize(color.r);
final g = linearize(color.g);
final b = linearize(color.b);
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
}