wpf中可以将UI界面,方便的保存成图片,类似于截屏效果。
wpf中可视的UI类也都继承了FrameworkElement类,使用FrameworkElement获得控件大小。
实现代码
void SaveFrameworkElementToImage(FrameworkElement ui, string filename)
{
FileStream ms = new FileStream(filename, FileMode.Create);
RenderTargetBitmap bmp = new RenderTargetBitmap((int)ui.ActualWidth, (int)ui.ActualHeight, 96d, 96d, PixelFormats.Pbgra32);
bmp.Render(ui);
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
encoder.Save(ms);
ms.Close();
}