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