BlazeDS通常用於發送在AMF中序列化的對象。它看起來像是一個矯枉過正的圖像,因爲它將以ByteArray
的形式發送,但您將花費資源處理它。可能是更好的方法,特別是如果圖像是靜態內容時,只要將其作爲靜態文件與運行BlazeDS的任何服務器一起提供即可。
您可以在Flex中使用圖像的不同方式。 Flex框架的一些特別之處是:將其用作Image
組件的源,但是,該組件對於許多任務來說有點太大。例如,如果使用此組件,則創建相同圖像的切片將非常無效。有BitmapImage
,這是一個輕量級的Image
,但它可能不具備所有所需的功能(它不會從InteractiveObject
繼承,因此它不能響應鼠標事件,它也僅作爲Spark組件提供。
我最常做的,如果我需要使用的圖片是這樣的:
如果我需要對它們進行緩存的程序(可重新使用其BitmapData
)我寫的一類,它負責裝載和緩存結果
I寫一個非常簡單的組件,擴展UIComponent
並使用它的graphics
屬性將給定的BitmapData
繪製到其中。這通常允許在幾個組件中簡單共享相同的BitmapData
。
讓此組件重寫updateDisplayList
方法,以便它可以縮放或修剪它使用的BitmapData
。
我確實使用Loader
加載圖像,因爲實際上沒有其他方法可以執行此操作。其他組件如Image
或SWFLoader
或BitmapImage
也使用Loader,它們不會在其上添加任何有價值的內容。可能的話,如果你需要切片9網格功能,那麼在Spark組件中有一些內置的東西,但是我仍然寧願自己做,然後依靠這個組件。 Flex組件不是真正可信的。
謝謝!還有更常用的'Image'或'Loader'? – Eugeny89 2012-03-25 11:05:47
'圖像'是一個輕量級的版本,沒有麻煩。在幕後,'Image'使用'Loader',但程序員不需要擔心如果你只是想顯示一個圖像 – 2012-03-25 11:19:13