windows phone 手机截图_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > windows phone 手机截图

windows phone 手机截图

 2013/7/28 23:11:41  mayue-tzc  博客园  我要评论(0)
  • 摘要:无聊在商城找了一款小游戏玩,看到一个截屏功能,就google了一下具体实现,还是比较简单的,主要是靠WriteableBitmap(提供一个可写入并可更新的BitmapSource)类实现。看一下msdn的介绍生成从任何UIElement开始的可视化树的位图快照·使用WriteableBitmap.WriteableBitmap构造WriteableBitmap。·若要在UI中显示图像,请将WriteableBitmap用作图像处理控件(如Image)的源
  • 标签:Windows 手机

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

class="subHeading">生成从任何 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对象提供设备媒体库的访问(音乐,图片等)

 

上一篇: 考考你的逻辑推理能力 下一篇: 没有下一篇了!
发表评论
用户名: 匿名