在Flex中,如何鉤入位圖或bitmapdata變量,以便在位圖數據發生更改(像素已更改或添加了過濾器)時通知函數?獲取Flex位圖或BitmapData變更的通知?
我試着設置綁定,但它不起作用。
必須有辦法做到這一點,因爲我可以通過'source'屬性將mx:Image綁定到位圖,並且當我修改位圖時,顯示的圖像始終會更新。 Flex如何做到這一點?它是否在每一幀都盲目地重繪位圖,還是它很聰明,只有在位圖變化時才重繪?如果是這樣,它怎麼知道位圖何時改變?
在Flex中,如何鉤入位圖或bitmapdata變量,以便在位圖數據發生更改(像素已更改或添加了過濾器)時通知函數?獲取Flex位圖或BitmapData變更的通知?
我試着設置綁定,但它不起作用。
必須有辦法做到這一點,因爲我可以通過'source'屬性將mx:Image綁定到位圖,並且當我修改位圖時,顯示的圖像始終會更新。 Flex如何做到這一點?它是否在每一幀都盲目地重繪位圖,還是它很聰明,只有在位圖變化時才重繪?如果是這樣,它怎麼知道位圖何時改變?
這只是一個半受教育的猜測,沒有測試背後,所以拿一些鹽。
當Flex綁定Image
的源屬性時,.source
的值爲BitmapAsset
類型。
BitmapAsset
有一個.bitmapData
屬性,它是對所討論的位圖的引用。
我希望由Flex完成的綁定與.bitmapData
屬性相反。
我看不出有什麼理由不應該這樣做。但是,我認爲您必須先做一些小小的循環工作,因爲您必須創建BitmapAsset
實例並使用BitmapData
填充要保留的選項卡,然後綁定到BitmapAsset
對象的.bitmapData
屬性。
假設一個叫做'bitmapData'的變量,它是BitmapData
的一個實例,我認爲下面的內容應該可以工作。
var bitmapAsset:BitmapAsset = new BitmapAsset(bitmapData);
var bitmapDataChangeWatcher:ChangeWatcher = BindingUtils.bindSetter(handleChangeToBitmapData, bitmapAsset, "bitmapData");
private function handleChangeToBitmapData(data:BitmapData):void
{
// Handle change to the bitmap data
}
當你嘗試綁定時,你綁定了什麼?你是否可以包含該代碼,儘管它不起作用? – 2010-09-29 18:52:15