Denim
A deep, cool indigo -- the dependable foundation of trustworthy interfaces.
Create Denim in PHP
Parse the catalog’s canonical value once, then keep the resulting color object throughout the rest of your code.
<?php
use PhpColor\Color\Color;
$denim = Color::parse('#1560BD');
use PhpColor\Color\Color;
$denim = Color::parse('#1560BD');
ColorInterface
$denim
#1560bd · oklch(0.5001 0.1623 256.9)
Build a Denim harmony
tetradic() keeps Denim and adds three partners at equal quarter-turns around the OKLCH hue wheel.
<?php
$harmony = $denim->tetradic();
foreach ($harmony as $color) {
echo $color->toHex().PHP_EOL;
}
$harmony = $denim->tetradic();
foreach ($harmony as $color) {
echo $color->toHex().PHP_EOL;
}
- 0
#1560bd - 1
#a03175 - 2
#955100 - 3
#007e4f
Generate a Denim scale
Keep the original hue and chroma, then vary OKLCH lightness to produce perceptually ordered steps.
<?php
$oklch = $denim->to('oklch');
foreach ([0.97, 0.92, 0.84, 0.74, 0.66, 0.58, 0.48, 0.40, 0.32, 0.24, 0.16] as $lightness) {
$step = $oklch->withChannel('l', $lightness);
}
$oklch = $denim->to('oklch');
foreach ([0.97, 0.92, 0.84, 0.74, 0.66, 0.58, 0.48, 0.40, 0.32, 0.24, 0.16] as $lightness) {
$step = $oklch->withChannel('l', $lightness);
}
50
100
200
300
400
500
600
700
800
900
950
Format Denim for the web
The same object can emit a compact Hex value, an sRGB CSS function, or its perceptual OKLCH coordinates.
<?php
$hex = $denim->toHex();
$rgb = $denim->toCss('srgb');
$oklch = $denim->to('oklch')->toCss();
$hex = $denim->toHex();
$rgb = $denim->toCss('srgb');
$oklch = $denim->to('oklch')->toCss();
- hex
#1560bd- rgb
rgb(21 96 189)- oklch
oklch(0.500114 0.162275 256.919)