2010-07-26 6 views
5

Pour le but d'un jeu, j'ai besoin de sérialiser certaines images dans un fichier binaire via une application WPF, en utilisant bitmapEncoder et ses classes enfants.octets [] à BitmapImage dans silverlight

Mais ces classes ne sont pas disponibles dans silverlight, donc je ne peux pas les charger dans le navigateur à partir du même fichier binaire.

Est-ce que quelqu'un sait comment convertir un octet [] en BitmapImage dans silverlight?

Merci,

KITE

Répondre

8

Essayez quelque chose comme ceci:

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

utiliser cette méthode première utilisation

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

puis

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; 
     } 
Questions connexes