Spaces:
Running
Running
| import numpy as np | |
| import colorsys | |
| from .contrast_detector import ContrastDetector | |
| class SaturationContrastDetector(ContrastDetector): | |
| """Saturation contrast detector""" | |
| def calculate_contrast(self, color1, color2): | |
| """Calculate saturation difference between two colors""" | |
| hsv1 = colorsys.rgb_to_hsv(color1[0]/255.0, color1[1]/255.0, color1[2]/255.0) | |
| hsv2 = colorsys.rgb_to_hsv(color2[0]/255.0, color2[1]/255.0, color2[2]/255.0) | |
| saturation_diff = abs(hsv1[1] - hsv2[1]) | |
| # Scale to 0-10 range to match WCAG scale | |
| return saturation_diff * 10 | |