2010-10-29 86 views
1

我对Flex很新颖。在flex中浏览器/选项卡窗口截图

我已经研究过在flex中截取屏幕截图,并在google上找到了很多链接,并且在这里获取了用于截取组件和类似东西的截图的stackoverflow。我想要做的是在浏览器窗口中截取整个选项卡(或者,如果失败,浏览器窗口本身或甚至屏幕)。

我能够截取viewstack的截图,因为它实现了IBitmapDrawable接口。但是如果我想要像上面提到的那样截取浏览器选项卡呢?这是可能的,如果是这样,怎么样?

则ViewStack的母公司为应用程序,但试图Application.application传递给BitmapData类的draw方法的时候,我得到以下错误:

静态类型对象的值隐式强制可能无关的类型flash.display:IBitmapDrawable。

在此先感谢。

回答

4

无法截取Flex应用程序之外的任何内容的屏幕截图。但是,应该可以截取应用程序的屏幕截图。 Application是实施IBitmapDrawableDisplayObject。你错误的原因是,Application.applicationObject类型。因此,您应该能够将您的应用程序转换为IBitmapDrawable并使用它来获取应用程序的屏幕截图。

// Flex 3.x 
var app:IBitmapDrawable = Application.application as IBitmapDrawable; 

// in Flex SDK 4.x Application.application is deprecated so use 
var app:IBitmapDrawable = FlexGlobals.topLevelApplication as IBitmapDrawable; 
+0

我已经删除了我的答案,赞成你的答案。 – splash 2010-10-29 12:45:51

+0

谢谢你。不是我正在寻找的东西,但如果你不能在Flex应用程序以外的任何屏幕截图,那么采用Flex应用程序本身的屏幕截图是最好的选择。 我会认为,如果应用程序是一个DisplayObject那么就没有必要施放它,但没关系。 非常感谢。它工作得非常好:) – 2010-10-29 14:01:42

2

对不起,但它是不可能采取完整的浏览器窗口或选项卡的屏幕截图。您还可以捕获在Flash Player中运行的内容。这是一个安全问题。

与Adobe Air应用程序打交道时,这是不同的,因为您与本机OS功能的连接更强大。

如果有帮助,请投票回答。

+0

以为我已经评论过这个。谢谢(你的)信息。试图投你的答案,但发现我需要更多的声誉,才可以。 – 2010-10-29 15:08:58

相关问题