如何將Silverlight的WriteableBitmap保存到文件系統中,我不確定如何使用FileStream來完成此項工作,只要不需要商業庫,就可以使用Bitmap,PNG,Jpeg格式等。 。
可以做到這一點嗎?如何在Silverlight 3.0中使用SaveFileDialog保存BitmapImage/WriteableBitmap?
這是我的呼籲SaveDialog,如下:
Dim SaveDialog As New SaveFileDialog
If SaveDialog.ShowDialog Then
Try
Using FileStream As Stream = SaveDialog.OpenFile
' Save Image File Code Here
End Using
Catch ex As Exception
End Try
End If
編輯
增加WritableBitmap提及,因爲這是我的XAML是寫,我只需要 保存它,有是一個WriteableBitmap.Pixels屬性,它是一個整數像素的一維數組,可以將它放入文件流中嗎?如果是這樣,怎麼辦?
下面是一些示例代碼,我有一個象素流寫入到 文件,但這個工程並不「bitmapify」數據和 輸出結果是無用的,但它是寫我的圖像流,我只需要 需要知道如何標記它,以便它是一個位圖文件(或其他任何東西)。 我已經找到了JPEG和PNG的例子,但沒有人解釋他們是如何工作的,我可能不得不使用PNGEncoding方法,因爲這是唯一一個將集成到我的代碼庫中的方法。但是那裏有一個簡單的BMP文件版本嗎?
Dim Image As Imaging.WriteableBitmap = _Style.Image
Dim Area As Integer = Image.PixelWidth * Image.PixelHeight
For Raster As Integer = 0 To Area - 1
Dim Pixel As Integer = Image.Pixels(Raster)
Dim Bytes() = BitConverter.GetBytes(Pixel And &HFF)
FileStream.Write(Bytes, 0, 4)
Next
+1,這是一個非常好的問題。這是否有一個原因來自BitmapImage? – AnthonyWJones 2009-09-08 14:01:39
我的意思是WritableBitmap,但前者適用,如果這是他們的方式必須從Silverlight保存圖片,但是任何從Silverlight保存圖片的方法都可以接受 – RoguePlanetoid 2009-09-08 14:08:01