WriteAllBytes和FileStream.Write/WriteBytes?我有一个位图对象我想在磁盘上创建一个新的bmp/jpg/png文件。我想我在某个地方读到WriteAllBytes使用FileStream。写下面?
WriteAllBytes
只是一个方便的方法,它封装了底层的Stream
操作。(创建文件,写入流,关闭流等)。如果它符合你的需要,就使用它。如果您需要对底层操作进行更多的控制,请使用Stream
或类似的方法。
使用WriteAllBytes来保存所有字节,如果需要查看进度则使用Write
你选错方向了。保存位图对象需要Image.Save()。这是一种方法,它知道如何使用图像编码器将位图转换为另一个程序(或您的程序)可以加载的字节。有几种图像编码器,您可以使用Save()重载选择您想要的ImageFormat。BMP格式是原生的Windows格式,它是未压缩的。PNG格式很好,它是一种压缩无损格式。JPEG格式是一种压缩有损格式,适合拍摄照片。文件大小由大到小依次为
如果你想保存位图,你应该使用WriteAllBytes