HCT is a color model developed by [Google][material-hct]. It aims to solve a problem related to generating color palettes with good contrast. While HCT may seem like a revolutionary color model, the idea behind it is quite simple, take the perceptually uniform color model CAM16 and combine it with the CIE Lab's lightness.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# pragma: init | |
from __future__ import annotations | |
from coloraide.spaces.okhsl import Okhsl, okhsl_to_oklab, oklab_to_okhsl | |
from coloraide.spaces.okhsv import Okhsv, okhsv_to_oklab, oklab_to_okhsv | |
P3L_TO_LMS = [ | |
[0.4813798527499543, 0.4621183710113182, 0.05650177623872754], | |
[0.2288319418112447, 0.6532168193835677, 0.11795123880518772], | |
[0.08394575232299314, 0.22416527097756647, 0.6918889766994405] | |
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from coloraide.gamut import Fit | |
from coloraide.spaces import RGBish | |
from coloraide import algebra as alg | |
class OkLChScale(Fit): | |
""" | |
Gamut mapping by scaling. | |
Expected gamut mapping spaces are RGB type spaces. | |
For best results, linear light RGB spaces are preferred. | |
""" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# pragma: init | |
from coloraide.gamut import Fit | |
from coloraide.spaces import RGBish | |
class OkLChScale(Fit): | |
""" | |
Gamut mapping by scaling. | |
Expected gamut mapping spaces are RGB type spaces. | |
For best results, linear light RGB spaces are preferred. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# pragma: init | |
from coloraide.gamut import Fit | |
from coloraide.spaces import RGBish | |
from coloraide import algebra as alg | |
class OkLChScale(Fit): | |
""" | |
Gamut mapping by scaling. | |
Expected gamut mapping spaces are RGB type spaces. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from coloraide import Color as Base | |
class Color(Base): | |
FIT = 'oklch-chroma' | |
POWERLESS = True | |
CARRYFORWARD = True | |
print('==== Case 1 ====') | |
color = Color.interpolate(['oklch(100% 50% 60deg)', 'oklch(50% 50% 0deg)'], space='oklch', out_space='oklch')(0.5) | |
Row([color.to_string(percent=True), color.convert('srgb').to_string()]) |
/// tab | Tab 1
//// tab | Tab A content ////
//// tab | Tab B content //// ///
DPS Contrast, also known as Delta Phi Star, is a simple formula for predicting human visual perception of contrast between text and background.
-
WHAT WHERE HOW
- Delta Phi Star predicts the contrast of text against the background for a given pair of colors.
- Delta Phi Star emerged from the SAPC/APCA project developing new standards for better beat ability on the web.
- Delta Phi Star takes in two
$L^*$ (Lstar) values, and returns an$L^c$ (lightness contrast) value.
-
UNIFORMITY:
-
DPS Contrast is quasi-uniform for human perception of text against a background on a self-illuminated display
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# pragma: init | |
"""Custom sRGB color class.""" | |
from coloraide import Color as Base | |
from coloraide.spaces.srgb.css import sRGB | |
from coloraide.css import serialize | |
from coloraide import algebra as alg | |
import re | |
RE_CUSTOM = re.compile(r'(?i)\b([a-z][a-z_]{2,})\b') |
"""XYB color space."""
from __future__ import annotations
from coloraide import algebra as alg
from coloraide.spaces import Space
from coloraide.types import Vector
from coloraide.cat import WHITES
from coloraide.channels import Channel, FLG_MIRROR_PERCENT
from coloraide import Color as Base
NewerOlder