如何将 Silverlight 中的 WriteableBitmap 保存到文件系统中,我不确定如何使用 FileStream 来完成这项工作,它可以是位图、PNG、Jpeg 格式等,只要不需要商业库。
是否有可能做到这一点?
这是我对 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 属性,它是一个整数像素的一维数组,可以将其放入文件流中,如果可以, 如何?
这是我将像素流写入文件的一些示例代码,但是它不会“位图化”数据并且结果输出是无用的,但它正在写入我的图像流,我只需要知道如何标记- it-up 使其成为位图文件(或其他任何文件)。我之前找到了 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