【发布时间】:2016-01-21 16:09:46
【问题描述】:
我想将画布作为 PNG 图像存储在磁盘上。
当使用此代码完全显示画布时,此方法有效:
RenderTargetBitmap rtb = new RenderTargetBitmap(794, 1122, 96d, 96d, System.Windows.Media.PixelFormats.Default);
rtb.Render(canvas);
但当时没有显示的部分不会被渲染。 如果根本不显示视觉对象,则不会渲染任何内容。
那我怎样才能在不显示的情况下将 Canvas 构建代码保存到光盘?
【问题讨论】:
-
不,它没有。这与我目前使用的代码相同。 UpdateLayout() 也没有修复它
-
我能想到的唯一解决方案是将我的 Canvas 放在 FlowDocument 中并保存。
-
画布必须得到一个布局,see here。
-
Measure() 和 Arrange() 成功了。但我的 PNG 仍然主要是黑色的。似乎它没有使用我的画布的白色背景画笔..?