在 Flex 中,如何挂钩到位图或位图数据变量,以便在位图数据发生更改(像素已更改或添加过滤器)时通知函数?
我尝试设置绑定,但它不起作用。
必须有办法做到这一点,因为我可以通过“源”属性将 mx:Image 绑定到位图,并且当我修改位图时,显示的图像会一直更新。弹性是如何做到的?它是在每一帧盲目地重绘位图,还是很聪明,只在位图改变时才重绘?如果是这样,它如何知道位图何时更改?
在 Flex 中,如何挂钩到位图或位图数据变量,以便在位图数据发生更改(像素已更改或添加过滤器)时通知函数?
我尝试设置绑定,但它不起作用。
必须有办法做到这一点,因为我可以通过“源”属性将 mx:Image 绑定到位图,并且当我修改位图时,显示的图像会一直更新。弹性是如何做到的?它是在每一帧盲目地重绘位图,还是很聪明,只在位图改变时才重绘?如果是这样,它如何知道位图何时更改?
这只是一种半受过教育的猜测,没有经过任何测试,所以加点盐吧。
当 Flex 绑定 an 的 source 属性时Image
,其值为.source
type BitmapAsset
。
BitmapAsset
有一个.bitmapData
属性,它是对相关位图的引用。
我希望 Flex 完成的绑定是针对该.bitmapData
属性的。
我也看不出有什么理由你不应该这样做。不过,我认为您必须做一些循环工作,因为您必须创建一个实例并用您想要密切关注BitmapAsset
的内容填充它,然后绑定到对象的属性。 BitmapData
.bitmapData
BitmapAsset
假设一个名为 'bitmapData' 的 var 是 的一个实例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
}