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