我想在我的flex应用程序中捕捉整个屏幕。我GOOGLE了很多,但找到了方法来捕获空气窗口屏幕,我想捕获用户的整个屏幕。我有一种使用“NitroScreenCap”的方式,但是我不理解如何在我的应用程序中实现此功能。任何人都可以请建议我一些这样的工作解决方案?有没有什么办法可以捕获使用flex的桌面屏幕截图?
2
A
回答
-2
要在我的Flex应用程序中捕获DisplayObject,我使用类PNGEnc。
这里是他使用的代码示例:
var c2 : DisplayObject = c.getChildAt(0) as DisplayObject;
var bd:BitmapData = new BitmapData(c2.width,c2.height);
bd.draw(c2); // Graph copy
var screen:ByteArray = PNGEnc.encode(bd); // PNG format conversion
接下来,我把我的ByteArray将其保存在Java中的服务器上,但我想你也可以使用
新的FileReference( ).save(屏幕)
+0
感谢您的回复,但我需要捕获用户的整个屏幕作为打印屏幕的关键作品。希望得到积极的回应。 –
0
您可以使用ImageSnapshot.captureImage()捕捉到你的Flex应用程序的屏幕,尝试这个例子:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.core.IUIComponent;
import mx.graphics.ImageSnapshot;
private function takeSnapshot(source:IBitmapDrawable):void {
var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(source);
var imageByteArray:ByteArray = imageSnap.data as ByteArray;
swfLoader.load(imageByteArray);
}
]]>
</mx:Script>
<mx:Array id="arr">
<mx:Object col1="Row 1, Col 1" col2="Row 1, Col 2" />
<mx:Object col1="Row 2, Col 1" col2="Row 2, Col 2" />
<mx:Object col1="Row 3, Col 1" col2="Row 3, Col 2" />
<mx:Object col1="Row 4, Col 1" col2="Row 4, Col 2" />
<mx:Object col1="Row 5, Col 1" col2="Row 5, Col 2" />
<mx:Object col1="Row 6, Col 1" col2="Row 6, Col 2" />
</mx:Array>
<mx:ApplicationControlBar dock="true">
<mx:Button label="Take snapshot of DataGrid"
click="takeSnapshot(dataGrid);" />
</mx:ApplicationControlBar>
<mx:HBox>
<mx:DataGrid id="dataGrid" dataProvider="{arr}" />
<mx:SWFLoader id="swfLoader">
<mx:filters>
<mx:DropShadowFilter />
</mx:filters>
</mx:SWFLoader>
</mx:HBox>
</mx:Application>
+0
感谢您的回复。但是这段代码只是捕获flex屏幕,我想用flex捕捉用户的整个屏幕。 –
相关问题
- 1. 有没有什么办法可以在IE上使用selenium RC来捕获整个页面的屏幕截图?
- 2. 我可以使用vuejs获取桌面屏幕截图
- 3. 什么是最有效的屏幕截图方式?使用DirectX捕获屏幕?
- 4. 需要帮助VBSCRIPT捕获用户桌面的屏幕截图
- 5. 有没有办法获得使用java锁定窗口的屏幕截图?
- 6. 有什么方法可以检测屏幕截图或录制?
- 7. 有没有什么方法可以捕捉屏幕截图 - 只有在Selenium IDE中的步骤失败?
- 8. 有没有办法采取的屏幕截图的MPMoviePlayerController播放
- 9. 有没有办法使用vba在MS-Access中截取屏幕截图?
- 10. 使用ScreenCapture捕获屏幕截图并捕获屏幕截图.CaptureScreenshot
- 11. 捕获隐藏桌面的屏幕截图
- 12. 捕获最小化远程桌面的屏幕截图
- 13. 只有可见桌面的屏幕截图
- 14. 捕获屏幕截图
- 15. 捕获MKMapView屏幕截图
- 16. ASP.NET - 捕获屏幕截图
- 17. 捕获屏幕截图
- 18. 为什么我无法捕获MPMoviePlayerController的屏幕截图?
- 19. 有没有办法将屏幕捕获为实时视频?
- 20. 使用javascript捕获桌面截图
- 21. 有没有什么办法可以在jQuery中捕捉空间
- 22. 是否可以使用DirectX工具包中的screengrab进行桌面/屏幕截图捕获?
- 23. 有没有办法用White来拍摄整个屏幕的截图?
- 24. 有没有什么办法可以根据屏幕分辨率调整图像大小而不使用javascript?
- 25. 用ImageMagick ++捕获X11屏幕截图
- 26. 我可以检测桌面更改做屏幕捕获
- 27. 有什么办法可以得到Flare3D的截图吗?
- 28. JavaFX 8制作桌面屏幕截图
- 29. xna 4采取桌面屏幕截图
- 30. 有没有办法在Flex 4中检测屏幕分辨率?
您是否在谈论在浏览器中运行的Web应用程序?那么答案是:你不能。否则,请添加有关您的环境的更多信息。 – dogsgod
我使用flex和adobe air创建窗口应用程序。我想在某个时间间隔内从这个窗口应用程序捕获桌面屏幕。 –
我认为你必须使用[本机扩展的AIR](http://help.adobe.com/en_US/air/extensions/index.html) - 这就是NitroScreenCap所做的。 – splash