aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.Backend/Helpers/ContrastHelper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Costasdev.Busurbano.Backend/Helpers/ContrastHelper.cs')
-rw-r--r--src/Costasdev.Busurbano.Backend/Helpers/ContrastHelper.cs48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/Costasdev.Busurbano.Backend/Helpers/ContrastHelper.cs b/src/Costasdev.Busurbano.Backend/Helpers/ContrastHelper.cs
deleted file mode 100644
index f9fd5f2..0000000
--- a/src/Costasdev.Busurbano.Backend/Helpers/ContrastHelper.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-namespace Costasdev.Busurbano.Backend.Helpers;
-
-using System;
-using System.Globalization;
-
-public static class ContrastHelper
-{
- public static string GetBestTextColour(string backgroundHex)
- {
- // Strip #
- backgroundHex = backgroundHex.TrimStart('#');
-
- if (backgroundHex.Length != 6)
- throw new ArgumentException("Hex colour must be 6 characters (RRGGBB)");
-
- // Parse RGB
- int r = int.Parse(backgroundHex.Substring(0, 2), NumberStyles.HexNumber);
- int g = int.Parse(backgroundHex.Substring(2, 2), NumberStyles.HexNumber);
- int b = int.Parse(backgroundHex.Substring(4, 2), NumberStyles.HexNumber);
-
- // Convert to relative luminance
- double luminance = GetRelativeLuminance(r, g, b);
-
- // Contrast ratios
- double contrastWithWhite = (1.0 + 0.05) / (luminance + 0.05);
- double contrastWithBlack = (luminance + 0.05) / 0.05;
-
- if (contrastWithWhite >= 2.5)
- {
- return "#FFFFFF";
- }
-
- return "#000000";
- }
-
- private static double GetRelativeLuminance(int r, int g, int b)
- {
- double rs = r / 255.0;
- double gs = g / 255.0;
- double bs = b / 255.0;
-
- rs = rs <= 0.03928 ? rs / 12.92 : Math.Pow((rs + 0.055) / 1.055, 2.4);
- gs = gs <= 0.03928 ? gs / 12.92 : Math.Pow((gs + 0.055) / 1.055, 2.4);
- bs = bs <= 0.03928 ? bs / 12.92 : Math.Pow((bs + 0.055) / 1.055, 2.4);
-
- return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;
- }
-}