Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda con Clase COLOR en java

Estas en el tema de Ayuda con Clase COLOR en java en el foro de Java en Foros del Web. Alguien puede ayudarme??? kiero manejar en una clase de java colores m generados aleatoriamente , pero estos colores generados no se deben parecer unos con ...
  #1 (permalink)  
Antiguo 14/07/2009, 17:58
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Ayuda con Clase COLOR en java

Alguien puede ayudarme??? kiero manejar en una clase de java colores m generados aleatoriamente , pero estos colores generados no se deben parecer unos con otros, el fin es generar un arreglo de clases color, sin que se parescan unos con otros , no se si me explico??
  #2 (permalink)  
Antiguo 15/07/2009, 18:19
 
Fecha de Ingreso: junio-2009
Mensajes: 65
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Ayuda con Clase COLOR en java

Un color en Java esta formado por RGB, al fin y al cabo, sin numeros hexadecimales, se me ocurre, que los pases de decimal y restes entre los dos colores, si entre ellos hay una diferencia, pues la que tu creas que es parecido el color descarta eso...

Para generar numero aleatorios, Math Random...

Saludos!
  #3 (permalink)  
Antiguo 16/07/2009, 09:28
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Respuesta: Ayuda con Clase COLOR en java

pues... hice algo asi...

int x=0;
int y=0;
int r=0;
int g=0;
int b=0;
Random ram=new Random();
Color color;
NumberFormat nf=NumberFormat.getInstance();
nf.setMinimumIntegerDigits(2);
nf.setMaximumIntegerDigits(2);



List<Integer> red=new ArrayList<Integer>();
for(x=0;x<CalendarioAcotacion_ls.size();x++){
ram=new Random();
for(y=0;y<red.size();y++){
if(ram.nextInt(255)==red.get(y)){
ram=new Random();
}
}
red.add(ram.nextInt(255));
}
List<Integer> green=new ArrayList<Integer>();
for(x=0;x<CalendarioAcotacion_ls.size();x++){
ram=new Random();
for(y=0;y<green.size();y++){
if(ram.nextInt(255)==green.get(y)){
ram=new Random();
}
}
green.add(ram.nextInt(255));
}
List<Integer> blue=new ArrayList<Integer>();
for(x=0;x<CalendarioAcotacion_ls.size();x++){
ram=new Random();
for(y=0;y<blue.size();y++){
if(ram.nextInt(255)==blue.get(y)){
ram=new Random();
}
}
blue.add(ram.nextInt(255));
}






for(x=0;x<CalendarioAcotacion_ls.size();x++){
color=new Color(red.get(x),green.get(x),blue.get(x));
String val= Integer.toHexString(color.getRGB() & 0x00ffffff ).toString();
if (val.length()<6)val="0" + val;
CalendarioAcotacion_ls.get(x).setColor("#" + val );
}






de esta forma ya no se duplican los colores......
pero.. ahora lo que quiero es buscar una forma que que siempre se genern los mismos colores... hay alguna forma????
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 08:43.