2011-08-01 79 views
1

我想使用c#将xaml画布转换为png图像。我使用了第二篇帖子here中描述的RenderTargetBitmap。如果想要转换的xaml显示在窗口或页面中,并且您可以在屏幕上实际看到它,它会很好地工作。但是,如果窗口关闭或隐藏,或者画布不是窗口/页面/框架的子项,则会生成空白图像。有谁知道为什么会发生这种情况,或者如何使其发挥作用?使用RenderTargetBitmap将xaml画布转换为png的空白图像

回答

1

我不能确定,但​​它可能是WPF通过不呈现任何目前不在屏幕上的东西来节省时间,因此当您从该对象的呈现目标中获取位图时,它尚未呈现,因此它是空白的。

我会建议把它放在屏幕上,以便在捕获的过程中移除它。如果物体很小,它甚至可能出现并消失在闪烁之中。

+2

非常感谢!我甚至没有呈现!但也有一个解决方案没有显示它:http://stackoverflow.com/questions/1080375/force-rendering-of-a-wpf-control-in-memory –