zoukankan      html  css  js  c++  java
  • windows phone 手机截图

      无聊在商城找了一款小游戏玩,看到一个截屏功能,就google了一下具体实现,还是比较简单的,主要是靠WriteableBitmap(提供一个可写入并可更新的 BitmapSource)类实现。看一下msdn的介绍

    生成从任何 UIElement 开始的可视化树的位图快照

    ·使用 WriteableBitmap.WriteableBitmap 构造 WriteableBitmap。

    ·若要在 UI 中显示图像,请将 WriteableBitmap 用作图像处理控件(如 Image)的源,或用作 ImageBrush 的源图像。

    ·如果您希望多次呈现此位图,并为其他快照重新使用该实例,请使用 Render 方法。 需要在 Render 后调用 Invalidate,以便呈现新图像。

    ·可以通过将转换传递给构造函数,或通过传递标识转换或 null 取消任何转换保留 UIElement 上的任何现有 RenderTransform。

    代码实现比较简单

    WriteableBitmap wBitmap = new WriteableBitmap((int)this.ActualWidth,(int)this.ActualHeight);
    wBitmap.Render(LayoutRoot, new MatrixTransform());//UIElement参数用来指出要绘制的元素,Transform参数用来在绘制成位图前的变换
    wBitmap.Invalidate();//强制它重绘其内容并正确显示
    img.Source = wBitmap;
    
    //真机测试代码,写入到媒体库
    //using (MemoryStream stream = new MemoryStream())
    //{     
    //    WriteableBitmap对象进行编码,设置宽和高写入到jpg流中   
    //    wBitmap.SaveJpeg(stream, wBitmap.PixelWidth, wBitmap.PixelHeight, 0, 100);
    //    stream.Seek(0, SeekOrigin.Begin);
    //    new MediaLibrary().SavePicture("应用截图.jpg", stream); //MediaLibrary对象提供设备媒体库的访问(音乐,图片等)
  • 相关阅读:
    一、列表
    正则表达式
    form表单学习
    HTTP场景应用
    fiddler几种功能强大的用法(二)
    在VMW里安装Ghost操作系统遇到的问题及解决的办法
    浮点数值的表示
    补码和补码的计算
    个人主页项目总结
    Todolist项目总结 JavaScript+jQuery
  • 原文地址:https://www.cnblogs.com/my-tzc/p/3221687.html
Copyright © 2011-2022 走看看