Windows Phone 7 - 捕捉屏幕

8

我正在运行Windows移动应用程序时尝试捕获屏幕。到目前为止,我已经做到了这一点,但是我不断收到一个参数不正确的ArgumentException。我做错了什么?

WriteableBitmap wb = new WriteableBitmap((int)this.ActualWidth, (int)this.ActualHeight);

wb.Render(this, null);

wb.Invalidate();

MemoryStream ms = new MemoryStream();

int h = 212;

int w = 444;

wb.SaveJpeg(ms, w, h, 0, 100); // The parameter is incorrect

BitmapImage bitmapImage = new BitmapImage();

bitmapImage.SetSource(ms);

image1.Source = bitmapImage;

上面是我的MainPage构造函数内的内容。

更新

我成功地使用了Matt建议的优秀教程。

然而,它似乎无法捕获来自WebBrowser的任何内容。

1)有人知道本机电子邮件应用程序如何呈现HTML电子邮件 - 使用哪个组件?

2)在Windows Phone 7系列中用于创建本机应用程序的是什么?

2个回答

6

WebBrowser控件不是Silverlight控件,因此无法以这种方式进行捕获。我认为唯一的捕获方法是通过模拟器获取屏幕截图。 - Matt Lacey
我该如何通过模拟器获取屏幕截图?这是否仍需要通过应用程序代码来完成?有相关链接吗? - Abs
@Abs 可以使用模拟器工具,或者在运行模拟器的电脑上截取屏幕截图并进行裁剪。 - Matt Lacey
说实话,我正在寻找一个基于代码的解决方案。一个随机问题:Windows手机中的本地电子邮件应用程序是否使用WebBrowser元素来显示HTML电子邮件? - Abs
1
@Abs 本地应用程序不是用Silverlight编写的,所以我非常怀疑。它也不像WebBrowser控件那样行为。 - Matt Lacey
显示剩余3条评论

1

提供的链接中的代码似乎将一个元素和null传递给WriteableBitmap,但它只能在dpcs中接受两个int:http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap.aspx - Abs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接