Сделайте снимок экрана текущего пользовательского элемента управления или любого графического интерфейса в Silverlight 3 - PullRequest
5 голосов
/ 01 июня 2010

Я хотел бы спросить, можно ли программно сделать снимок экрана текущего пользовательского элемента управления и сохранить его в виде файла в Silverlight 3.

Я нашел несколько способов сохранить файл изображения для Canvas в silverlight 3, но как насчет пользовательского элемента управления или дочернего окна?

Спасибо

Ответы [ 2 ]

5 голосов
/ 01 июня 2010

Записываемое растровое изображение позволит вам сделать это. Смотрите образцы и примеры.

2 голосов
/ 13 ноября 2012

Не уверен насчет 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 здесь

...