導出程序界面(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);
    }
相關文章
相關標籤/搜索