2010-07-26 9 views
5

Para el propósito de un juego, necesito serializar algunas imágenes en un archivo binario a través de una aplicación WPF, usando bitmapEncoder y sus clases secundarias.byte [] a BitmapImage en silverlight

Pero estas clases no están disponibles en Silverlight, por lo que no puedo cargarlas en el navegador desde el mismo archivo binario.

¿Alguien sabe cómo convertir un byte [] a BitmapImage en Silverlight?

Gracias,

Kite

Respuesta

8

Pruebe algo como esto:

BitmapImage GetImage(byte[] rawImageBytes) 
{ 
    BitmapImage imageSource = null; 

    try 
    { 
     using (MemoryStream stream = new MemoryStream(rawImageBytes )) 
     { 
      stream.Seek(0, SeekOrigin.Begin); 
      BitmapImage b = new BitmapImage(); 
      b.SetSource(stream); 
      imageSource = b; 
     } 
    } 
    catch (System.Exception ex) 
    { 
    } 

    return imageSource; 
} 
0

uso de este método primer uso

using System.IO; 
using System.Windows.Media.Imaging; 

luego

public Image Base64ToImage(byte[] imageBytes) 
     { 
      Image img = new Image(); 
      using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) 
      { 
       BitmapImage im = new BitmapImage(); 
       im.SetSource(ms); 
       img.Source = im; 
      } 
      return img; 
     } 
Cuestiones relacionadas