Rokoties dziļi krāsu teorijā, ir kaut kas, ko sauc par relatīvo krāsu spilgtumu. Vienkāršāk sakot, krāsas spilgtums nosaka, vai tās spilgtums. Spilgtums 1 nozīmē, ka krāsa ir balta. Gluži pretēji, spilgtuma rādītājs 0 nozīmē, ka krāsa ir melna.
Krāsas spilgtuma zināšana var būt noderīga, strādājot ar dinamiskām vai nejaušām krāsām, lai nodrošinātu precīzu fona krāsu, ja krāsa ir pārāk spilgta vai pārāk tumša. Parasti varat uzskatīt, ka krāsu, kuras spilgtums pārsniedz 0,7, būs grūti nolasīt uz balta fona.
Kods
/// Returns the luminance of `$color` as a float (between 0 and 1) /// 1 is pure white, 0 is pure black /// @param (Color) $color - Color /// @return (Number) /// @link http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef Reference @function luminance($color) ( $colors: ( 'red': red($color), 'green': green($color), 'blue': blue($color) ); @each $name, $value in $colors ( $adjusted: 0; $value: $value / 255; @if $value < 0.03928 ( $value: $value / 12.92; ) @else ( $value: ($value + .055) / 1.055; $value: pow($value, 2.4); ) $colors: map-merge($colors, ($name: $value)); ) @return (map-get($colors, 'red') * .2126) + (map-get($colors, 'green') * .7152) + (map-get($colors, 'blue') * .0722); )
Lietošana
$color: #BADA55; $luminance: luminance($color); // 0.6123778773