| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
27/2/06 - Vamos a crear una página que tiene un color de fondo aleatorio, de modo que, cada vez que se visite, se muestre con un fondo distinto. Ahora bien, como el color de la página va a ser distinto cada vez, para asegurarnos que el texto se pueda leer correctamente, haremos que el texto de la página sea o blanco o negro, dependiendo de la gama del color de fondo: si es oscuro, el texto de la página será blanco y si el fondo es claro, el texto se verá en negro.
Hay que darse cuenta que, si el color es aleatorio, a veces saldrá más oscuro y a veces más claro. Para que se lea bien el texto, su color tiene que contrastar lo suficiente con el color de fondo, por eso calcularemos la oscuridad o claridad del fondo para fijar el color del texto.
Se puede ver en marcha el ejemplo que se va a desarrollar en esta página.
En un artículo anterior del taller de Javascript ya explicamos una manera de conseguir un color aleatorio en Javascript.
Aunque en el mencionado artículo ya estaba la función Javascript para obtener un color aleatorio, la transcribimos aquí, pues hemos hecho un par de cambios minúsculos al código:
function dame_numero_aleatorio(superior, inferior){
var numPosibilidades = (superior + 1) - inferior;
var aleat = Math.random() * numPosibilidades;
aleat = Math.floor(aleat);
aleat = (inferior + aleat);
return aleat
}
function dame_color_aleatorio(){
color_aleat="#"
hexadecimal = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F")
var inferior = 0;
var superior = hexadecimal.length-1;
for (i=0;i<6;i++){
color_aleat += hexadecimal[dame_numero_aleatorio(superior, inferior)];
}
return color_aleat
}
Ahora veremos la manera de conocer la oscuridad o claridad de un color con aleatorio generado por Javascript. Para calcular la oscuridad (o claridad) de un color en formato RGB hexadecimal, vamos a realizar varios pasos:
Tenemos que saber que, a mayores valores de RGB, el color resultante será mas claro. Si los valores de RGB son más bajos, el color será más oscuro. Los valores de R, G y B, por separado pueden ir, en decimal, desde 0 a 255. Diremos que es claro cuando sea mayor que 255 / 2 y que es oscuro cuando sea menor de 255 / 2. Vamos a suponer un umbral a partir del cual el color lo consideramos más oscuro o más claro. Digamos que si sumamos por separado los valores rojo, verde y azul y nos dan más de la mitad de ((255 + 255 +255) / 2), es que el color es claro. Si está por debajo de ese umbral, el color es oscuro.
| Autoría, licencia y acciones sobre este artículo | ||||||
|
Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright. * Para consultas técnicas utilizar la lista de correo.
|
| Comentarios sin revisar |
| Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente. |
| Ver los comentarios no revisados |
| Añadir un comentario del artículo |
| Enlaces: |
| Maestrosdelweb |
Lectura recomendada Compra este libro en Agapea, la librería urgente a domicilio. |
||||||||
Tienda DesarrolloWeb