在 Silverlight 3 中截取当前用户控件或任何 GUI 的屏幕截图
Posted
技术标签:
【中文标题】在 Silverlight 3 中截取当前用户控件或任何 GUI 的屏幕截图【英文标题】:Take Screenshot of current user control or any GUI in Silverlight 3 【发布时间】:2011-02-26 10:33:20 【问题描述】:我想问是否可以通过编程方式截取当前用户控件的屏幕截图并在silverlight 3中另存为文件。
我在 Silverlight 3 中找到了一些方法可以将 Canvas 的图像文件保存为图像文件,但是用户控件或 childwindow 呢?
谢谢,
【问题讨论】:
【参考方案1】:Writable Bitmap 会让你这么做。查看示例和示例。
【讨论】:
【参考方案2】:不确定 silverlight 3,但在 4 中是这样完成的:
public static byte[] CreatePngImage(this UIElement element)
WriteableBitmap screenshot = new WriteableBitmap(element, new TranslateTransform());
var image = screenshot.ToImage();
ImageTools.IO.Png.PngEncoder png = new ImageTools.IO.Png.PngEncoder();
using (var mem = new System.IO.MemoryStream())
png.Encode(image, mem);
var bytes = mem.GetBuffer();
return bytes;
ImageTools.IO.Png.dll 的位置here
【讨论】:
以上是关于在 Silverlight 3 中截取当前用户控件或任何 GUI 的屏幕截图的主要内容,如果未能解决你的问题,请参考以下文章
在 Silverlight 中获取当前 Windows 用户名
Silverlight 中的webBrowser控件打开的网页怎么才能加载ActiveX控件