Foros del Web » Programando para Internet » PHP »

texto diferente color que el fondo..dinamicamente

Estas en el tema de texto diferente color que el fondo..dinamicamente en el foro de PHP en Foros del Web. Amigos!! .. le comento mi duda.. tengo un codigo que me genera codigo hexagesimal para los colores de forma aleatoria de celdas de una tabla ...
  #1 (permalink)  
Antiguo 18/06/2009, 16:47
Avatar de jakuam  
Fecha de Ingreso: abril-2007
Mensajes: 354
Antigüedad: 17 años
Puntos: 0
texto diferente color que el fondo..dinamicamente

Amigos!! .. le comento mi duda.. tengo un codigo que me genera codigo hexagesimal para los colores de forma aleatoria de celdas de una tabla dependiendo el contenido de la misma (mismo contenido mismo color) .. lo que pasa es que a veces el color del fondo es muy parecido al del texto .. lo que necesito es que el texto tenga un color que contrate con el fondo o la otra variante es restringir el codigo para un rango de colores y que el texto sea solo de un color determinado..
les dejo codigo:
Código PHP:
$letters "1234567890ABCDEF"
FOR ($i=0;$i<6;$i++)
{
$rand rand(0,15)
$color1 $letter[$rand]
}
return 
"#".color1;

desde ya muchas gracias por su ayuda
__________________
Jakuam
Reserva Hoteles Online
Turismo San Rafael Mendoza
  #2 (permalink)  
Antiguo 18/06/2009, 18:20
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años, 1 mes
Puntos: 34
¿Pero ese código que pusite está funcional?

Por qué mejor no pones el código más completo para poder analizarlo mejor...

Por ejemplo ahí hay algo que no coincide entre

$letters y $letter

Por cierto, quizás para buscar el color opuesto, o algo, te convendría acomodar las letters como 0123...... poniendo el cero delante...

Luego para obtener los 2 colores podrías hacer, que mientras en uno el rand es 15, para el otro sea 0, para cuando fue 6, para el otro sea 9, de esa forma irías obteniendo los opuestos, se me ocurre...

La otra, es que si no son muuuuuchas combinaciones, vos podrías armarlas y hacer que las vaya seleccionando según las necesita, sin repetirlas...

Azul sobre Amarillo
Rojo sobre blanco
Naranja sobre Gris
Negro sobre verde claro
Verde sobre gris

etc etc

Mi idea es esta, pero por algún motivo no funciona como yo esperaba...

A ver si algún iluminado sabe donde esta el problema :)

Seguiré testeando...

Código PHP:
$ai=0;

$letters "0123456789ABCDEF";

while (
$ai<6) {

$rand rand(0,15);
$color1 $color1.$letters[$rand];

switch (
$rand){
case 
"0":$rand2 "F"; break;
case 
"1":$rand2 "E"; break;
case 
"2":$rand2 "D"; break;
case 
"3":$rand2 "C"; break;
case 
"4":$rand2 "B"; break;
case 
"5":$rand2 "A"; break;
case 
"6":$rand2 "9"; break;
case 
"7":$rand2 "8"; break;
case 
"8":$rand2 "7"; break;
case 
"9":$rand2 "6"; break;
case 
"10":$rand2 "5"; break;
case 
"11":$rand2 "4"; break;
case 
"12":$rand2 "3"; break;
case 
"13":$rand2 "2"; break;
case 
"14":$rand2 "1"; break;
case 
"15":$rand2 "0"; break;
}
$color2 $color2.$letters[$rand2];
$ai++;

Bueno, acá esto funciona, no es muy muy bueno, ya que igual se forman combinaciones raras...

Sunpongo que se podría experimentar con ordenar $letters2 en otro orden que no sea exactamente el inverso, sino quizas moverlo unas posiciones, empezar desde el 6 quizas y poner 6789ABCDEF012345

No se, cuestión de probar...


Código PHP:
<?php
$ai
=0;

$letters "0123456789ABCDEF";
$letters2 "FEDCBA9876543210";

while (
$ai<6) {

$rand rand(0,15);
$color1 $color1.$letters[$rand];
$color2 $color2.$letters2[$rand];
$ai++;
}


?>

<p><b><font color="#<?PHP echo $color1?>"><span style="background-color: #<?PHP echo $color2?>">HOLA</span></font></b></p>
__________________
elGastronomo

Última edición por GatorV; 18/06/2009 a las 19:01
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:36.