2015-04-25 86 views
1

我需要知道如何將bitmap-image轉換爲windows store應用程序的字節數組。 這裏是我試過,但它不會將位圖保存的BitmapImage將bitmapImage轉換爲用於windows store的字節數組

Dim file As StorageFile = Await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync() 
    Dim stream As IRandomAccessStream = Await file.OpenAsync(Windows.Storage.FileAccessMode.Read) 
    Dim decoder As BitmapDecoder = Await BitmapDecoder.CreateAsync(stream) 
    Dim pixelData As PixelDataProvider = Await decoder.GetPixelDataAsync() 
    Return pixelData.DetachPixelData() 
+2

你能告訴我們你嘗試過什麼到目前爲止? –

+0

到目前爲止您嘗試過哪些代碼?如果你顯示你已經嘗試了什麼,並說出哪個位不起作用,那麼你會發現你會得到更好的迴應。 –

+0

以及我試過,但它不是存儲像的BitmapImage '點心文件作爲StorageFile =等待Windows.Storage.StorageFile.GetFileFromApplicationUriAsync() 昏暗流作爲IRandomAccessStream =等待file.OpenAsync(Windows.Storage.FileAccessMode.Read) 昏暗解碼器作爲BitmapDecoder =等待BitmapDecoder.CreateAsync(流) 昏暗PixelData取出作爲PixelDataProvider =等待decoder.GetPixelDataAsync() 返回pixelData.DetachPixelData()」 –

回答

0

我發現:d

Async Function bitmapTObyte(ByVal bitmapimage1 As StorageFile) As Task(Of Byte()) 
    Dim fileBytes As Byte() = Nothing 
    Using stream As IRandomAccessStreamWithContentType = Await bitmapimage1.OpenReadAsync() 
     fileBytes = New Byte(stream.Size - 1) {} 
     Using reader As New DataReader(stream) 
      Await reader.LoadAsync(CUInt(stream.Size)) 
      reader.ReadBytes(fileBytes) 
      Return fileBytes 
     End Using 
    End Using 
0

保存到MemoryStreamBitmap.Save()然後保存MemoryStream.ToArray()。也許不是最優雅的方法,但工程。 我可以稍後發佈工作代碼。

+0

的'bitmap.save'不窗戶商店應用的框架中存在... –

+0

哦,沒有看到即將到來。對不起.. – Sami

+0

我可以將'Byte()'轉換爲'BitmapImage',但是反過來我不能,我需要這麼多 –

相關問題