Convertir colores hexadecimales a su tono en escala de grises en PHP



La siguiente es una función desarrollada en PHP para convertir colores hexadecimales (colores Web) en su color equivalente en escala de grises.

Ojo, que esto NO ES para convertir imágenes a grayscale, sino que para convertir los colores (tipo #ffcc00) a su equivalente en escala de grises.

function grayscale($color,$antecesor="#"){
	$coloresWeb=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");

	$color=strtolower(str_replace("#","",$color));
	if(strlen($color)==3){
		$color=$color[0].$color[0].$color[1].$color[1].$color[2].$color[2];
	}

	$posiciones=array(
		array_search($color[0],$coloresWeb,true),
		array_search($color[1],$coloresWeb,true),
		array_search($color[2],$coloresWeb,true),
		array_search($color[3],$coloresWeb,true),
		array_search($color[4],$coloresWeb,true),
		array_search($color[5],$coloresWeb,true)
	);

	$total=0;
	foreach($posiciones as $posicion){
		$total+=$posicion;
	}

	$promedio=0;
	if($total){
		$promedio=$coloresWeb[round($total/6)];
	}

	return $antecesor.$promedio.$promedio.$promedio.$promedio.$promedio.$promedio;
}

Como siempre, todos los comentarios son bienvenidos…

Originally posted 2015-12-29 12:01:38.

Convertir colores hexadecimales a su tono en escala de grises en PHP
Etiquetado en:    

Deja un comentario

¿Quieres recibir el contenido V.I.P de Preceptos Digitales?

¿Quieres recibir el contenido V.I.P de Preceptos Digitales?

Ingresa tu correo y te enviaremos contenidos especiales para quienes escuchan el Podcast!



Te has suscrito exitosamente! Nos hablamos!