2008-09-30 72 views
0

我想實現一個自定義的「斷開的圖像」圖標,如果我無法加載圖像出現。爲了達到這個目的,我使用了brokenImageSkin參數,但是它以真實的分辨率呈現圖像,如果控件的大小受到限制,圖像最終會切斷圖像。在Flex中brokenImageSkin尺寸

<mx:Image brokenImageSkin="@Embed('/assets/placeholder.png')" source="http://www.example.com/bad_url.png"/> 

如何將brokenImageSkin縮放到自定義寬度和高度?

回答

0
  1. 創建一個擴展了ProgrammaticSkin的新類。使用[Embed] meta關鍵字嵌入圖像,並將其與類型爲Class的變量相關聯(請參閱此文檔)

  2. 重寫updateDisplaylist。

  3. 在這個函數中調用graphics.clear()。

  4. 呼叫graphics.beginBitmapFill,然後應用合適的尺寸和比例基礎上,參數unscaledWidth和unscaledHeight傳入。

這是方式更復雜,但它是我所知道的獲得更多控制的唯一途徑在這樣的自定義皮膚操作之外。