2011-07-05 58 views
4

有誰知道從客戶端Flash播放器上播放swf獲取可縮放圖形的方法嗎?是否可以從SWF中檢索矢量圖形?

我們的場景是,我們有一個可視化的Flex .swf,我們將數據加載到(通過Web服務調用)。數據加載完成後,我們希望在PDF中使用合成圖像。

我可以將一個DisplayObject的圖像作爲PNG發送回服務器,並將其放入PDF中(使用iText),但是png不可縮放,並且在PDF中以不同的縮放級別看起來很糟糕。

任何人找到解決辦法?

編輯:

要添加更多的清晰度。可視化不是我們在開發過程中導入或嵌入的矢量圖形,它們是基於從服務器檢索的數據在運行時通過flex/flash繪圖API創建的圖表和趨勢圖以及自定義可視化。

+0

所以等待,這問題要問?如何從swf獲取矢量或者如何將矢量圖形嵌入到pdf中? –

+0

如何從SWF獲取矢量......一旦我知道第一個可能,我會擔心第二個問題。 – dan

回答

2

一種解決方案可能是重新使用AlivePDF顯卡,在你從服務器獲取的數據組合。這種方法的主要缺點是您的PDF文件看起來不像原來的Flex可視化文件。

+1

是的,我喜歡AlivePDF。它有一個繪圖API,所以你可以直接在PDF中任何你想要的東西。 –

+0

不幸的是,我們正在檢索的圖形相當複雜,我們重新創建它們是不現實的。不管怎麼說,還是要謝謝你。 – dan

+0

看起來沒有辦法做到這一點,只能在PDF中重新繪製可視化文件。 – dan

1

只要你的矢量圖形在SWF正確申報,你應該能夠embed這樣的:

[Bindable] 
[Embed(source='SWFFileName.swf', symbol='symbolName')] 
private var _someVector:Class; 
+0

Hi @J_A_X。我認爲您指的是在開發時添加SWF或圖片或其他資源。看到我的編輯在這個問題 - 希望應該給一點更清晰。 – dan

+1

@dan,Embed在編譯時工作。所以,你真正想要得到的是'矢量圖形'(如果使用繪圖API,就沒有這種東西)。您應該查看使用ImageSnapshot或位圖獲取圖像的位圖。當然,它不會是矢量,並且不會擴展(以一種好的方式)。唯一的方法就是重用代碼直接在pdf中繪製它。 –

+0

好的 - 我們已經得到了圖像的位圖(或PNG)。看起來有沒有簡單的方法來做到這一點。謝謝你的幫助。 – dan

相關問題