Guardar Colores

25/11/2005 - 13:48 por Miguel Genol | Informe spam
Necesito guardar, en algún sitio, de alguna forma, las estructuras color de
varios colores que el usuario habrá seleccionado a partir del ColorDialog.
En otra parte del programa usaré estas estructuras para pintar objetos con
los colores que haya elegido el usuario.
Muchas gracias
 

Leer las respuestas

#1 A.Poblacion
25/11/2005 - 16:10 | Informe spam
"Miguel Genol" wrote in message
news:
Necesito guardar, en algún sitio, de alguna forma, las estructuras color


de
varios colores que el usuario habrá seleccionado a partir del ColorDialog.
En otra parte del programa usaré estas estructuras para pintar objetos con
los colores que haya elegido el usuario.



Aprovechando que la estructura Color es Serializable, lo más sencillo es
que guardes todos tus colores en un array o colección y que la serialices
completa al lugar de almacenamiento. Cuando tengas que recuperarlos, usas el
Deserialize y vuelves a tener todo como lo salvaste.

Un ejemplo (aproximado, no lo he probado):

using System.Runtime.Serialization.Formatters.Binary.BinaryFormatter;

ArrayList al = new ArrayList();
al.Add(Color.FromArgb(128,0,0));
al.Add(Color.White);
...

BinaryFormatter bf = new BinaryFormatter();
Stream s = new FileStream("C:\MisColores.bin", FileMode.Create);
bf.Serialize(s, al);
s.Close();


Y luego, para deserializarlo, más o menos esto:

BinaryFormatter bf = new BinaryFormatter();
Stream s = new FileStream("C:\MisColores.bin", FileMode.Open);
ArrayList al = (ArrayList)bf.Deserialize(s);
s.Close();
Color[] misColores = (Color[])al.ToArray(typerof(Color));

Preguntas similares