【问题标题】:Take Screenshot of current user control or any GUI in Silverlight 3在 Silverlight 3 中截取当前用户控件或任何 GUI 的屏幕截图
【发布时间】:2011-02-26 10:33:20
【问题描述】:

我想问是否可以通过编程方式截取当前用户控件的屏幕截图并在silverlight 3中另存为文件。

我在 Silverlight 3 中找到了一些方法可以将 Canvas 的图像文件保存为图像文件,但是用户控件或 childwindow 呢?

谢谢,

【问题讨论】:

    标签: c# wpf wcf silverlight silverlight-3.0


    【解决方案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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-14
        • 2018-12-09
        • 1970-01-01
        • 2014-08-19
        相关资源
        最近更新 更多