我正在创建一个图表设计器,我在其上添加一个按钮,将GUI保存为图像。我创建了一个类DiagramDesignerExporter,我有这个代码。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace DiagramDesigner
{
class DiagramDesignerExporter
{
public static void ExportToPng(UIElement target, string ImagePath)
{
// Prepare target-layout
Size size = target.RenderSize;
target.Measure(size);
target.Arrange(new Rect(size));
// Render diagram to bitmap
RenderTargetBitmap renderBitmap =
new RenderTargetBitmap(
(int)size.Width,
(int)size.Height,
96, 96,
PixelFormats.Pbgra32);
renderBitmap.Render(target);
// Convert bitmap to png
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(renderBitmap));
using (FileStream fileStream = new FileStream(ImagePath, FileMode.Create))
{
encoder.Save(fileStream);
}
}
}
}
我在按钮中这样称呼它:
DiagramDesignerExporter.ExportToPng(this, <YourFullFilePath>);
我希望得到你的帮助。任何建议都可以。谢谢:))