2015-01-30 3 views
0
BitmapImage bm = new BitmapImage(new Uri("/Assets/ToolKit.Content/RedIcon/arab-woman.jpg", UriKind.RelativeOrAbsolute)); 

using (MemoryStream ms = new MemoryStream()) 
{ 
     WriteableBitmap btmMap = new WriteableBitmap(bm); 
     System.Windows.Media.Imaging.Extensions.SaveJpeg(btmMap, ms, bm.PixelWidth, bm.PixelHeight, 0, 100); 
     bm = null; 
     byte[] a = ms.ToArray(); 
} 

Я использую этот код, но он показывает ошибку я не могу преобразовать в WriteableBitmap.Как изменить BitmapImage к ConvertToByte в Windows Phone 8

ответ

0

У вас есть ошибка, потому что вы действительно не загрузили изображение. Если вы откроете свой BitmapImage в своем отладчике, я уверен, что вы можете видеть, что здесь ничего нет. Вы можете force скачать с помощью Image. Я не знаю, является ли это отличным решением, но это рабочее решение.

Image image = new Image {Source = new BitmapImage(new Uri("/Assets/ToolKit.Content/RedIcon/arab-woman.jpg", UriKind.Relative))}; 
using (MemoryStream ms = new MemoryStream()) 
{ 
    WriteableBitmap btmMap = new WriteableBitmap(image, null); 
    btmMap.SaveJpeg(ms, btmMap.PixelWidth, btmMap.PixelHeight, 0, 100); 
    byte[] a = ms.ToArray(); 
} 
0

Вы можете использовать следующий код для преобразования растрового изображения в массив байтов

byte[] a = System.IO.File.ReadAllBytes("Assets\\ToolKit.Content\\RedIcon\\arab-woman.jpg");