wpf Canvas 导出图片
在WPF中将Canvas导出为图片主要涉及以下关键步骤和注意事项:
- 核心实现方法
- 使用
RenderTargetBitmap
将Canvas渲染为位图,再通过PngBitmapEncoder
保存为PNG文件。需注意临时移除Canvas的布局变换(LayoutTransform)以避免渲染异常1。 - 示例代码片段:
CanvasExporter.cs
public static void ExportToPng(this Canvas canvas, Uri path) {if (path == null) return;Transform transform = canvas.LayoutTransform;canvas.LayoutTransform = null;Size size = new Size(900, 600);canvas.Measure(size);canvas.Arrange(new Rect(size));RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap((int)size.Width, (int)size.Height, 96d, 96d, PixelFormats.Pbgra32);re