在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