Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用VisualBrush获取WPF区域的System.Drawing.Bitmap_C#_Wpf_Drawing_Bitmapsource_Visualbrush - Fatal编程技术网

C# 使用VisualBrush获取WPF区域的System.Drawing.Bitmap

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

关键是,我需要转换为System.Drawing.Bitmap(.Net Framework 2.0)以获得WPF网格的单个框架及其内容

我读过关于
VisualBrush
DrawingBrush
的文章,但我无法想象它应该如何工作

我可以成功地将任何WPF
BitmapSource
转换为我的
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;
}