astra_adjust_brightness( string $hex, number $steps, string $type )
Adjust Brightness
Description
Parameters
- $hex
-
(string) (Required) Color code in HEX.
- $steps
-
(number) (Required) brightness value.
- $type
-
(string) (Required) brightness is reverse or default.
Return
(string) Color code in HEX.
Source
File: inc/core/common-functions.php
function astra_adjust_brightness( $hex, $steps, $type ) { // Get rgb vars. $hex = str_replace( '#', '', $hex ); // Return if non hex. if ( ! ctype_xdigit( $hex ) ) { return $hex; } $shortcode_atts = array( 'r' => hexdec( substr( $hex, 0, 2 ) ), 'g' => hexdec( substr( $hex, 2, 2 ) ), 'b' => hexdec( substr( $hex, 4, 2 ) ), ); // Should we darken the color? if ( 'reverse' == $type && $shortcode_atts['r'] + $shortcode_atts['g'] + $shortcode_atts['b'] > 382 ) { $steps = -$steps; } elseif ( 'darken' == $type ) { $steps = -$steps; } // Build the new color. $steps = max( -255, min( 255, $steps ) ); $shortcode_atts['r'] = max( 0, min( 255, $shortcode_atts['r'] + $steps ) ); $shortcode_atts['g'] = max( 0, min( 255, $shortcode_atts['g'] + $steps ) ); $shortcode_atts['b'] = max( 0, min( 255, $shortcode_atts['b'] + $steps ) ); $r_hex = str_pad( dechex( $shortcode_atts['r'] ), 2, '0', STR_PAD_LEFT ); $g_hex = str_pad( dechex( $shortcode_atts['g'] ), 2, '0', STR_PAD_LEFT ); $b_hex = str_pad( dechex( $shortcode_atts['b'] ), 2, '0', STR_PAD_LEFT ); return '#' . $r_hex . $g_hex . $b_hex; }
Expand full source code Collapse full source code View on Trac