textAuf function

String textAuf(
  1. String hex
)

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';
}