如何在PWF中保存隐藏的窗口到图像

时间:2015-01-20 06:26:34

标签: c#

我想使用c#将xaml转换为png图像。我使用了RenderTargetBitmap。如果要转换的xaml显示在窗口或页面中,并且您可以在屏幕上实际看到它,那么它的效果非常好。但是如果窗口关闭或隐藏,将生成空白图像。有谁知道为什么会这样或者如何让它发挥作用?

1 个答案:

答案 0 :(得分:0)

我建议你:

  

在拍摄期间将其置于屏幕上   然后删除它。如果物体很小,它甚至可能出现   消失的只不过是闪烁。

如果您不满意,可以尝试Force Render a WPF Control using this

使用ViewBox在内存中呈现

Grid grid = new System.Windows.Controls.Grid() { Background = Brushes.Blue, Width = 200, Height = 200 };
Viewbox viewbox = new Viewbox();
viewbox.Child = grid; //control to render
viewbox.Measure(new System.Windows.Size(200, 200));
viewbox.Arrange(new Rect(0, 0, 200, 200));
viewbox.UpdateLayout();
RenderTargetBitmap render = new RenderTargetBitmap(200, 200, 150, 150, PixelFormats.Pbgra32);
render.Render(viewbox);