如何将Silverlight中的WriteableBitmap保存到文件系统?我不确定如何使用FileStream使其工作,可以使用Bitmap、PNG、Jpeg等格式,只要不需要商业库即可。
这个有可能吗?
以下是我的SaveDialog调用:
这个有可能吗?
以下是我的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属性是一个整数像素的一维数组,这个数组能否放入文件流中?如果可以,怎么做呢?
下面是我编写的一些示例代码,用于将像素流写入文件。虽然它确实起作用,但它没有"位图化"数据,输出结果是无用的,但它正在写入我的图像流,我只需要知道如何标记它,使其成为位图文件(或其他任何格式)。我以前找到过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