2009-04-30 28 views
0

我想使用小圖像,並將它們重複爲Flex中組件的背景。 Flex組件目前有一個backgroundImage屬性,允許您傳遞一個URL或一個類作爲背景。還有一個名爲backgroundSize的屬性,您可以將其設置爲「auto」,使其成爲圖像的大小,或100%,這樣可以將其拉伸至組件的大小。沒有重複選項。所以,我下載了延伸離開這裏叫做RepeatingImage檢測SWFLoader類的類:http://renaun.com/flex2/posts/repeatingimage/index.html該類允許您設置源和它重複它。我擴展了這個類,使其有一個我想用作背景圖像的默認圖像源,我將這個新類設置爲backgroundImage。並將backgroundSize設置爲100%。我認爲這是一個非常聰明的解決方案,但我這樣做只是爲了發現它不起作用,當我這樣做時沒有背景圖像集?FLEX:重複組件的背景?

因此,也許有件事我需要改變,以使我的方法工作或者也許有人有不同的方法,無論哪種方式,我想可以設置在組件上重複的背景圖片?

謝謝!

+0

摘自我在想,也許你使用這個類必須擴展的BitmapData(其文件不說)。如果是這樣的話,我想知道是否有人知道擴展BitmapData類的方法,以便它在延伸時重複像素而不是拉伸它們? – 2009-04-30 14:08:46

回答

0

本網站建議使用Degrafa。 Background Image Repeat

看來是做到這一點大部分的解決方案手動涉及與下面的代碼重載的updateDisplayList():從Source

override protected function updateDisplayList(w:Number,h:Number):void 
{ 
    super.updateDisplayList(w, h); 

    graphics.clear();    
    graphics.beginBitmapFill(backgroundBitmapData);   
    graphics.drawRect(0, 0, w, h); 

    ... 
}