Private/Get-ContrastRatio.ps1
|
function Get-ContrastRatio { <# .SYNOPSIS Calculates the WCAG contrast ratio between two relative luminance values. .DESCRIPTION Implements the W3C WCAG 2.1 contrast ratio formula. Returns a ratio between 1:1 (no contrast) and 21:1 (maximum contrast, black on white). .PARAMETER Luminance1 Relative luminance of the first color (0.0 to 1.0). .PARAMETER Luminance2 Relative luminance of the second color (0.0 to 1.0). .EXAMPLE Get-ContrastRatio -Luminance1 1.0 -Luminance2 0.0 # Returns 21.0 (white on black) .NOTES https://www.w3.org/TR/WCAG21/#dfn-contrast-ratio #> param ( [Parameter(Mandatory = $true)] [double]$Luminance1, [Parameter(Mandatory = $true)] [double]$Luminance2 ) $lighter = [Math]::Max($Luminance1, $Luminance2) $darker = [Math]::Min($Luminance1, $Luminance2) return ($lighter + 0.05) / ($darker + 0.05) } |