2009-11-02 80 views
0

我有一個應用程序,需要調整組件的大小,會相當頻繁地放大和縮小。我注意到,當我縮放組件時,我在其上使用的任何過濾器都不會隨之擴展。我意識到這是有道理的,但我想知道如果Flex內置了一個工具,可以使用該組件縮放過濾器。我知道我可以在自定義組件上編寫一些動作,並根據組件的當前比例改變過濾器屬性的比例......任何建議?Flex 3和縮放DropShadowFilter

回答

0

如果您在mxml中定義過濾器,它們應自動縮放。

<mx:Canvas width="300" height="300"> 
    <mx:filters> 
    <mx:DropShadowFilter /> 
    </mx:filters> 
</mx:Canvas> 

這應該會產生一個無論其大小的基本陰影的畫布。 繼承人到文檔的鏈接在各種過濾器:http://livedocs.adobe.com/flex/3/langref/flash/filters/package-detail.html

+0

我曾嘗試過,它沒有工作。但是,你的鏈接確實有一點幫助。這讓我意識到,如果我想根據畫布的規模實現縮放功能,那麼我需要按照我試圖避免的方式(自定義dropShadow類中的數據綁定)來執行縮放功能。我抓住了一個來自livedocs的報價: 「這個過濾器支持Stage縮放,但它不支持常規縮放,旋轉和傾斜。如果對象本身被縮放(如果scaleX和scaleY被設置爲1.0以外的值) ,過濾器不會縮放,僅在用戶放大舞臺時才縮放。「 – Adrian 2009-11-04 20:24:40

0

我的建議是用調整大小(allowScale=truemaintaintAspectRatio=false<mx:Image> PNG 24在其陰影下工作。

您將節省CPU並擁有更好的控制能力(您只需添加5-10KB的頂部)。

dropshadowfilter類絕對沒有被設計爲動畫。

希望這會有所幫助。