如何将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