無心間看到這個需求,查閱了相關文章,有兩篇不錯的博客給出瞭解決方案,地址以下:html
主要使用的接口: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); }