渲染隐藏的画布而不显示它?

时间:2015-10-22 11:34:08

标签: .net wpf

我想将画布存储在磁盘上作为PNG图像。

当使用以下代码完全显示画布时,此方法有效:

RenderTargetBitmap rtb = new RenderTargetBitmap(794, 1122, 96d, 96d, System.Windows.Media.PixelFormats.Default);
rtb.Render(canvas);

但是那时未显示的部分不会被渲染。 当视觉完全没有显示时,什么也没有呈现。

那么如何在不显示的情况下将Canvas构建代码保存到光盘中呢?

1 个答案:

答案 0 :(得分:0)

好的,我已经在heltonbiker& amp;帮助下解决了这个问题。克莱门。

var size = new Size(794, 122);
Document.Measure(size);
Document.Arrange(new Rect(size));

Document.UpdateLayout();

RenderTargetBitmap rtb = new RenderTargetBitmap(794, 1122, 96d, 96d, System.Windows.Media.PixelFormats.Default);
rtb.Render(Document);

但是当我将画布保存到光盘时,它的背景为黑色。我通过在Canvas中为我的XAML添加Rectangle解决了这个问题。