将byte[]转为bitmapimage并保存到文件
时间: 2024-10-21 22:15:00 浏览: 15
如何将silverlight中的图片控件保存到文件
4星 · 用户满意度95%
在 WPF 或其他.NET 应用中,将 byte 数组转换成 `BitmapImage` 然后保存到文件通常涉及两个步骤:首先,你需要创建一个 `BitmapImage` 并设置其源为 byte 数组;然后,你可以将这个 `BitmapImage` 保存为图片文件。
以下是一个简单的例子,假设你已经有了一个包含图片数据的 byte 数组 `imageData`:
```csharp
using (MemoryStream ms = new MemoryStream(imageData))
{
// 创建 BitmapImage,并设置其源为内存流
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = ms;
bitmapImage.EndInit();
// 保存 BitmapImage 到文件
string filePath = "C:\\Temp\\output.jpg";
using (FileStream fileStream = File.Create(filePath))
{
bitmapImage.Save(fileStream, JpegBitmapEncoder.CreateQualityLevel(95)); // 设置JPEG质量级别
}
}
```
在这个例子中,我们首先将 byte 数组装入一个 `MemoryStream`,然后通过 `StreamSource` 属性将其设置为 `BitmapImage` 的源。接下来,创建一个 `FileStream` 对象,将 `BitmapImage` 保存到这个文件中,使用 `JpegBitmapEncoder` 来编码为 JPEG 格式。
阅读全文