C# 使用VisualBrush获取WPF区域的System.Drawing.Bitmap
关键是,我需要转换为System.Drawing.Bitmap(.Net Framework 2.0)以获得WPF网格的单个框架及其内容 我读过关于C# 使用VisualBrush获取WPF区域的System.Drawing.Bitmap,c#,wpf,drawing,bitmapsource,visualbrush,C#,Wpf,Drawing,Bitmapsource,Visualbrush,关键是,我需要转换为System.Drawing.Bitmap(.Net Framework 2.0)以获得WPF网格的单个框架及其内容 我读过关于VisualBrush和DrawingBrush的文章,但我无法想象它应该如何工作 我可以成功地将任何WPFBitmapSource转换为我的System.Drawing.Bitmap。但是如何从我的网格接收BitmapSource 感谢将可视转换为您可以使用的位图源,并且: public BitmapSource ConvertToBitmapSo
VisualBrush
和DrawingBrush
的文章,但我无法想象它应该如何工作
我可以成功地将任何WPFBitmapSource
转换为我的System.Drawing.Bitmap
。但是如何从我的网格接收BitmapSource
感谢将
可视
转换为您可以使用的位图源
,并且:
public BitmapSource ConvertToBitmapSource(UIElement element)
{
var target = new RenderTargetBitmap((int)(element.RenderSize.Width), (int)(element.RenderSize.Height), 96, 96, PixelFormats.Pbgra32);
var brush = new VisualBrush(element);
var visual = new DrawingVisual();
var drawingContext = visual.RenderOpen();
drawingContext.DrawRectangle(brush, null, new Rect(new Point(0, 0),
new Point(element.RenderSize.Width, element.RenderSize.Height)));
drawingContext.Close();
target.Render(visual);
return target;
}