2010-10-29 83 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

相關問題