byte [] для BitmapImage в silverlight - PullRequest
5 голосов
/ 26 июля 2010

Для игры мне нужно сериализовать некоторые изображения в двоичном файле через приложение WPF, используя bitmapEncoder и его дочерние классы.

Но эти классы недоступны в Silverlight, поэтому я не могу загрузить их в браузер из того же двоичного файла.

Кто-нибудь знает, как преобразовать байт [] в BitmapImage в silverlight?

Спасибо

Kite

Ответы [ 2 ]

8 голосов
/ 27 июля 2010

Попробуйте что-то вроде этого:

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 голосов
/ 15 января 2017

используйте этот метод первое использование

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

тогда

 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;
       }
...