导出程序界面(UI)到图片

无心间看到这个需求,查阅了相关文章,有两篇不错的博客给出了解决方案,地址以下:html

一、在WPF程序中将控件所呈现的内容保存成图像函数

二、为所欲为导出你的 UI 界面到 PDF 文件ui

主要使用的接口:spa

Silverlight 平台:下咱们使用 WriteableBitmap 类来渲染 UI 到图片。经过 Render 方法便可生成图片。这种方法不只能够渲染某个控件,同时能够建立整个页面。只须要把根节点赋值给构造函数便可。code

// render element to image (Silverlight)
var img = new WriteableBitmap(element, null);

WPF 平台:下咱们能够使用RenderTargetBitmap 类来渲染UI到图片。代码以下:orm

// render element to image (WPF)
RenderTargetBitmap rtbmp = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Default);
rtbmp.Render(element);

WinRT 平台:使用的方法相同,但参数不一样,代码以下:htm

// render element to image (WinRT)
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(element);
保存图片:
RenderTargetBitmap rtb = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32);
    rtb.Render(cir);
PngBitmapEncoder png = new PngBitmapEncoder();
    png.Frames.Add(BitmapFrame.Create(rtb));
using (Stream fs = File.Create(@"r:\test.png"))
    {
        png.Save(fs);
    }
相关文章
相关标签/搜索