Apache flex 在flex中拍摄浏览器/选项卡窗口的屏幕截图

Apache flex 在flex中拍摄浏览器/选项卡窗口的屏幕截图,apache-flex,actionscript-3,flex3,screenshot,Apache Flex,Actionscript 3,Flex3,Screenshot,我对Flex是个新手 我研究过在flex中截图,并在google和stackoverflow上找到了许多链接,用于截图组件和类似的东西。我想做的是在浏览器窗口中截取整个选项卡的屏幕截图,如果没有截图,则截取浏览器窗口本身,甚至仅截取屏幕 我能够拍摄viewstack的屏幕截图,因为它实现了IBitmapDrawable接口。但是,如果我想拍摄上面提到的浏览器选项卡的屏幕截图呢?这是否可能,如果可能,如何实现 viewstack的父级是应用程序,但在尝试将application.applicati

我对Flex是个新手

我研究过在flex中截图,并在google和stackoverflow上找到了许多链接,用于截图组件和类似的东西。我想做的是在浏览器窗口中截取整个选项卡的屏幕截图,如果没有截图,则截取浏览器窗口本身,甚至仅截取屏幕

我能够拍摄viewstack的屏幕截图,因为它实现了IBitmapDrawable接口。但是,如果我想拍摄上面提到的浏览器选项卡的屏幕截图呢?这是否可能,如果可能,如何实现

viewstack的父级是应用程序,但在尝试将application.application传递给BitmapData类的draw方法时,出现以下错误:

将具有静态类型对象的值隐式强制为可能不相关的类型flash。显示:IBitmapDrawable

提前感谢。

抱歉,无法拍摄完整浏览器窗口或选项卡的屏幕截图。您还可以捕获Flash Player内部运行的内容。这是一个安全问题

在处理AdobeAIR应用程序时,情况有所不同,因为您与本机操作系统功能的连接更强

如果这有帮助,请投票支持答案。

对不起,无法拍摄完整浏览器窗口或选项卡的屏幕截图。您还可以捕获Flash Player内部运行的内容。这是一个安全问题

在处理AdobeAIR应用程序时,情况有所不同,因为您与本机操作系统功能的连接更强


如果这有帮助,请投票支持答案。

不可能对Flex应用程序之外的任何内容进行截图。但是,应该可以拍摄应用程序的屏幕截图。应用程序是一个实现IBitmapDrawable的DisplayObject。错误的原因是,Application.Application的类型为Object。因此,您应该能够将您的应用程序转换为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;

不可能对Flex应用程序之外的任何内容进行截屏。但是,应该可以拍摄应用程序的屏幕截图。应用程序是一个实现IBitmapDrawable的DisplayObject。错误的原因是,Application.Application的类型为Object。因此,您应该能够将您的应用程序转换为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;

我删除了我的答案,取而代之的是你的。谢谢你。这不完全是我想要的,但是如果你不能拍摄flex应用程序之外的任何东西的屏幕截图,那么拍摄flex应用程序本身的屏幕截图是次好的选择。我会认为,若应用程序是一个DisplayObject,那个么就并没有必要强制转换它,但没关系。非常感谢。它工作得很好:我删除了我的答案,而你的答案是对的。谢谢你。这不完全是我想要的,但是如果你不能拍摄flex应用程序之外的任何东西的屏幕截图,那么拍摄flex应用程序本身的屏幕截图是次好的选择。我会认为,若应用程序是一个DisplayObject,那个么就并没有必要强制转换它,但没关系。非常感谢。它工作得很好:我想我已经对此发表了评论。谢谢你的信息。我试着对你的答案投赞成票,但发现我需要更多的声誉才能做到。我想我已经对此发表了评论。谢谢你的信息。我试着对你的答案投赞成票,但发现我需要更多的声誉才能做到这一点。