Estoy tratando de pasar alguna representación de una imagen de ida y vuelta entre Silverlight y un servicio WCF. Si es posible, me gustaría pasar un System.Windows.Media.Imaging.BitmapImage
, ya que eso significaría que el cliente no tiene que hacer ninguna conversión.¿Puedo obtener un byte [] de una BitmapImage en Silverlight?
Sin embargo, en algún momento necesito almacenar esta imagen en una base de datos, lo que significa que la representación de la imagen debe poder convertir ay desde byte[]
. Puedo crear un BitmapImage
desde un byte[]
leyendo la matriz en un MemoryStream
y utilizando BitmapImage.SetSource()
. Pero parece que no puedo encontrar la manera de convertir a la inversa, desde BitmapImage
hasta byte[]
. ¿Me estoy perdiendo algo obvio aquí?
Si sirve de algo, el código de conversión podría ejecutarse en el servidor, es decir, no necesita ser seguro de Silverlight.
¿Alguna vez una solución para esto? –
No. La imagen se estaba cargando inicialmente a través del usuario seleccionándola en un cuadro de diálogo Abrir. La solución alternativa era acceder a openDialog.File.OpenRead, crear un BinaryReader a partir de esa transmisión y luego llamar a ReadBytes() en el lector para obtener un byte []. No he estado al día con Silverlight 4, puede haber una solución disponible ahora. – goric