首页 > Windows开发 > 详细

WPF:保存窗口当前状态截图方法

时间:2015-01-28 19:36:43      阅读:484      评论:0      收藏:0      [点我收藏+]

在制作软件使用手册或者操作示范市,比较常用方式有截图和视频制作。如果软件内置当前状态的截图和操作视频的导出功能,则将极大简化这方面的工作。使用wpf编写的UI界面,截图的导出功能逻辑相对简单,通用的实现步骤如下:

1、构建窗体与相关实现逻辑;

2、构建窗体的封装容器,包含窗体视图、DrawingVisual字段和窗体大小字段;

private readonly DrawingVisual dv;
private readonly TestView previewControl;
private readonly Rect controlSize;
private readonly RenderTargetBitmap renderTargetBitmap;

3、初始化dv的大小属性与窗体保持一致,并设置缩放比例:

this.dv = new DrawingVisual();
Size size = new Size(Width, Height);
if (scale > 1.0)
{
    this.dv.Transform = new ScaleTransform(1.0 / scale, 1.0 / scale);
    size.Width *= scale;
    size.Height *= scale;
}
this.controlSize = new Rect(size);

4、保存截图到RenderTargetBitmap对象中

using (DrawingContext drawingContext = this.dv.RenderOpen())
{
      VisualBrush visualBrush = new VisualBrush(this.previewControl);
      drawingContext.DrawRectangle(visualBrush, null, this.controlSize);
}

  this.renderTargetBitmap.Clear();
  this.renderTargetBitmap.Render(this.dv);

通过构建通用的窗体封装容器,即可在需要该功能的所有软件中集成截图导出功能了。

WPF:保存窗口当前状态截图方法

原文:http://www.cnblogs.com/dadream/p/4256505.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!