astra_get_foreground_color( string $hex )
Foreground Color
Description
Parameters
- $hex
-
(string) (Required) Color code in HEX format.
Return
(string) Return foreground color depend on input HEX color.
Source
File: inc/core/common-functions.php
function astra_get_foreground_color( $hex ) {
$hex = apply_filters( 'astra_before_foreground_color_generation', $hex );
// bail early if color's not set.
if ( 'transparent' == $hex || 'false' == $hex || '#' == $hex || empty( $hex ) ) {
return 'transparent';
}
// Get clean hex code.
$hex = str_replace( '#', '', $hex );
if ( 3 == strlen( $hex ) ) {
$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
}
if ( strpos( $hex, 'rgba' ) !== false ) {
$rgba = preg_replace( '/[^0-9,]/', '', $hex );
$rgba = explode( ',', $rgba );
$hex = sprintf( '#%02x%02x%02x', $rgba[0], $rgba[1], $rgba[2] );
}
// Return if non hex.
if ( ! ctype_xdigit( $hex ) ) {
return $hex;
}
// Get r, g & b codes from hex code.
$r = hexdec( substr( $hex, 0, 2 ) );
$g = hexdec( substr( $hex, 2, 2 ) );
$b = hexdec( substr( $hex, 4, 2 ) );
$hex = ( ( $r * 299 ) + ( $g * 587 ) + ( $b * 114 ) ) / 1000;
return 128 <= $hex ? '#000000' : '#ffffff';
}
Expand full source code Collapse full source code View on Trac