Necesito serializar un color usado en una aplicación WPF a una base de datos. Me gustaría usar los valores sRGB, porque son más familiares para aquellos de nosotros que hemos pasado los últimos años haciendo desarrollo web.¿Cómo serializo un objeto System.Windows.Media.Color en una cadena sRGB?
¿Cómo se puede obtener una cadena ARGB (como #FFFFFFFF) de un objeto System.Windows.Media.Color?
ACTUALIZACIÓN: La documentación de MSDN me indujo a error. Como @Kris anota a continuación, la documentación para el método ToString()
es incorrecta. Aunque dice que ToString() "crea una representación de cadena del color utilizando los canales ScRGB", en realidad devolverá una cadena en formato hexadecimal ARGB si el color se creó utilizando el método FromARGB()
. Es una característica no documentada, supongo.
Ver http://msdn.microsoft.com/en-us/library/ms606572.aspx
¿Quiere decir que si creo el objeto Color usando FromArgb, ToString devolverá la cadena hexadecimal ARGB en lugar del valor ScRgb? Eso contradice lo que dice en la documentación de MSDN: http://msdn.microsoft.com/en-us/library/ms606572.aspx. – dthrasher
No lo había notado en la documentación pero genera un formato hexadecimal al usar esos métodos. Mirando en el reflector, se establece un indicador que se usa en la implementación de ToString. – Kris
Sí. ToString() me da el formato que quiero. Parece que la documentación de MSDN está incompleta. – dthrasher