textAuf function
Kontrastfarbe für Text auf voller Kachelfläche. Eine kaputte Farbe bekommt hellen Text statt eines Absturzes.
Implementation
String textAuf(String hex) {
final h = hex.replaceFirst('#', '');
if (h.length != 6) return '#ffffff';
final r = int.tryParse(h.substring(0, 2), radix: 16);
final g = int.tryParse(h.substring(2, 4), radix: 16);
final b = int.tryParse(h.substring(4, 6), radix: 16);
if (r == null || g == null || b == null) return '#ffffff';
return (0.299 * r + 0.587 * g + 0.114 * b) > 165 ? '#0f172a' : '#ffffff';
}