将BitmapImage以bmp格式保存
时间: 2024-10-22 07:25:05 浏览: 29
要将`BitmapImage`以BMP(位图)格式保存到文件,你可以先将其转换为`WriteableBitmap`,因为`BitmapImage`本身并不支持直接写入。以下是步骤:
1. 创建一个`WriteableBitmap`实例,并设置其宽度、高度和源图像:
```csharp
using (var writeableBitmap = new WriteableBitmap(bitmapImage.Width, bitmapImage.Height))
{
// 使用InterpolatingBitmapFrame.CreateSourceAsync方法将BitmapImage转换为WriteableBitmap
await writeableBitmap.CopyPixelsAsync((BitmapSource)bitmapImage);
}
```
2. 然后创建一个新的BMP文件流,并将`WriteableBitmap`内容写入到这个流中:
```csharp
using (var stream = new FileStream("output.bmp", FileMode.Create))
{
using (var encoder = new BmpBitmapEncoder())
{
encoder.Frames.Add(BitmapFrame.Create(writeableBitmap));
encoder.Save(stream);
}
}
```
这样就成功地将`BitmapImage`保存为BMP格式了。
阅读全文