2015-12-09 80 views
1

有幾個示例可以執行此操作,但它們適用於Windows Phone 8.0或8.1 Silverlight。在Windows Phone 8.1運行時將BitmapImage轉換爲byte []數組運行時

但是,如何爲Windows Phone 8.1 Runtime做到這一點?

+0

There http://stackoverflow.com/questions/4732807/conversion-of-bitmapimage-to-byte-array是一些考慮它。 – marcinax

+0

@marcinax你看過標題嗎?或者我發佈了什麼?我知道有100個樣本和問題可以做到這一點...你發佈的鏈接是Windows Phone「」「7」「」!!!! – Bayern

+0

因此,另一個鏈接給你:http://stackoverflow.com/questions/12963508/bitmapimage-to-byte-windows-8-metro-winrt。這是WinRT的。使用搜索。 – marcinax

回答

-1

試過嗎?

private byte[] ConvertToBytes(BitmapImage bitmapImage) 
{ 
    byte[] data = null; 
    using (MemoryStream stream = new MemoryStream()) 
    { 
     WriteableBitmap wBitmap = new WriteableBitmap(bitmapImage); 
     wBitmap.SaveJpeg(stream, wBitmap.PixelWidth, wBitmap.PixelHeight, 0, 100); 
     stream.Seek(0, SeekOrigin.Begin); 
     data = stream.GetBuffer(); 
    } 

    return data; 
} 
+2

由於Windows.UI.Xaml.Media.Imaging.WriteableBitmap沒有帶有BitmapImage的構造函數,因此這不適用於Windows Phone Runtime應用程序。 –

+0

嗯真的這是UWP代碼... – Depechie

+4

不,也不是UWP代碼。 UWP _also_沒有這樣的構造函數。 – Rhywden

6

您無法從Windows.UI.Xaml.Media.Imaging中提取像素。 BitmapImage

最一般的解決方案是使用WriteableBitmap而不是BitmapImage。這些類都是BitmapSources,幾乎可以互換使用。該WriteableBitmap通過其PixelBuffer屬性提供它的像素數據:

byte[] pixelArray = myWriteableBitmap.PixelBuffer.ToArray(); // convert to Array 
Stream pixelStream = wb.PixelBuffer.AsStream(); // convert to stream 

否則,你將需要獲得來自任何地方的BitmapImage的距離得到了他們的像素。根據BitmapImage如何初始化,您可能能夠從其屬性中找到它的原點。 WinRT Xaml Toolkit有一個extension method FromBitmapImage來根據它的UriSource從BitmapImage創建一個WriteableBitmap。

醜陋的選擇是將BitmapImage渲染成圖像,根據圖像創建RenderTargetBitmap,然後使用RenderTargetBitmap獲取像素。 CopyPixelsAsync()

+1

這是我如何得到並顯示圖像:StorageFile storageFile = args.Files [0]; var stream = await storageFile.OpenAsync(FileAccessMode.Read); var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage(); await bitmapImage.SetSourceAsync(stream); var decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(stream); – Bayern

+0

我在不同的地方看過幾次相同的代碼片段,並想知道像素流是否需要處理? – thumbmunkeys

相關問題