【发布时间】:2011-02-26 10:33:20
【问题描述】:
我想问是否可以通过编程方式截取当前用户控件的屏幕截图并在silverlight 3中另存为文件。
我在 Silverlight 3 中找到了一些方法可以将 Canvas 的图像文件保存为图像文件,但是用户控件或 childwindow 呢?
谢谢,
【问题讨论】:
标签: c# wpf wcf silverlight silverlight-3.0
我想问是否可以通过编程方式截取当前用户控件的屏幕截图并在silverlight 3中另存为文件。
我在 Silverlight 3 中找到了一些方法可以将 Canvas 的图像文件保存为图像文件,但是用户控件或 childwindow 呢?
谢谢,
【问题讨论】:
标签: c# wpf wcf silverlight silverlight-3.0
Writable Bitmap 会让你这么做。查看示例和示例。
【讨论】:
不确定 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
【讨论】: