wpf imagesource 转 bitmap
时间: 2023-10-09 10:13:00 浏览: 264
在 WPF 中,可以将 ImageSource 转换为 Bitmap 对象。可以使用以下代码将 ImageSource 转换为 Bitmap:
```csharp
// 将 ImageSource 转换为 Bitmap
public static Bitmap ToBitmap(this ImageSource imageSource)
{
var bitmapSource = imageSource as BitmapSource;
if (bitmapSource == null)
throw new ArgumentException("ImageSource必须是BitmapSource类型", "imageSource");
// 使用 BitmapEncoder 将 BitmapSource 转换为 Bitmap
var encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
using (var stream = new MemoryStream())
{
encoder.Save(stream);
// 将流转换为 Bitmap
return new Bitmap(stream);
}
}
```
在上面的代码中,我们首先将 ImageSource 转换为 BitmapSource 对象。然后,使用 BmpBitmapEncoder 将 BitmapSource 对象编码为 BMP 格式。最后,将编码后的数据流转换为 Bitmap 对象。
阅读全文