• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
WordPress a2z

WordPress a2z

WordPress Dynamic API Reference

  • Home
  • Plugins
  • Themes
  • Shortcodes
  • APIs
  • Classes
  • Files
  • Hooks
  • Sitemap
  • Blog
Home / APIs / twentynineteen_hsl_hex() – Converts HSL to HEX colors.

You appear to be a bot. Output may be restricted

Description

Converts HSL to HEX colors.

Usage

twentynineteen_hsl_hex( $h, $s, $l, $to_hex );

Parameters

$h
( mixed ) required –
$s
( mixed ) required –
$l
( mixed ) required –
$to_hex
( mixed ) optional default: 1 –

Returns

void

Source

File name: twentynineteen/inc/helper-functions.php


Lines:

1 to 72 of 72
function twentynineteen_hsl_hex( $h, $s, $l, $to_hex = true ) {

  $h /= 360;
  $s /= 100;
  $l /= 100;

  $r = $l;
  $g = $l;
  $b = $l;
  $v = ( $l <= 0.5 ) ? ( $l * ( 1.0 + $s ) ) : ( $l + $s - $l * $s );

  if ( $v > 0 ) {
    $m       = $l + $l - $v;
    $sv      = ( $v - $m ) / $v;
    $h      *= 6.0;
    $sextant = floor( $h );
    $fract   = $h - $sextant;
    $vsf     = $v * $sv * $fract;
    $mid1    = $m + $vsf;
    $mid2    = $v - $vsf;

    switch ( $sextant ) {
      case 0:
        $r = $v;
        $g = $mid1;
        $b = $m;
        break;
      case 1:
        $r = $mid2;
        $g = $v;
        $b = $m;
        break;
      case 2:
        $r = $m;
        $g = $v;
        $b = $mid1;
        break;
      case 3:
        $r = $m;
        $g = $mid2;
        $b = $v;
        break;
      case 4:
        $r = $mid1;
        $g = $m;
        $b = $v;
        break;
      case 5:
        $r = $v;
        $g = $m;
        $b = $mid2;
        break;
    }
  }

  $r = round( $r * 255, 0 );
  $g = round( $g * 255, 0 );
  $b = round( $b * 255, 0 );

  if ( $to_hex ) {

    $r = ( $r < 15 ) ? '0' . dechex( $r ) : dechex( $r );
    $g = ( $g < 15 ) ? '0' . dechex( $g ) : dechex( $g );
    $b = ( $b < 15 ) ? '0' . dechex( $b ) : dechex( $b );

    return "#$r$g$b";

  }

  return "rgb($r, $g, $b)";
}
 

 View on GitHub View on Trac

Published: 25th November 2019 | Last updated: 10th December 2020

Primary Sidebar

Information

Function name: twentynineteen_hsl_hex
Plugin ref: Twenty Nineteen
Version: 1.9
Sourcefile: inc/helper-functions.php
File ref: inc/helper-functions.php
Deprecated?: No
API Letters: H,T

Footer

WordPress a2z
WordPress a2z
WordPress Dynamic API Reference
WordPress 5.6.2. PHP: 7.3.27
WordPress a2z
WordPress core a2z
Genesis Theme Framework a2z
Jetpack a2z
WordPress develop tests
Easy Digital Downloads a2z
WooCommerce a2z
Yoast SEO a2z
WordPress Blocks

Site:  wp-a2z.org
© Copyright WordPress a2z 2014-2021. All rights reserved.


Website designed and developed by Herb Miller
Proudly powered by WordPress and oik plugins

  • Home
  • Blog
  • Sitemap
  • Sites