Apache flex 收到Flex位图或BitmapData更改的通知?

Apache flex 收到Flex位图或BitmapData更改的通知?,apache-flex,flash,binding,bitmap,bitmapdata,Apache Flex,Flash,Binding,Bitmap,Bitmapdata,在Flex中,如何将一个钩子连接到位图或bitmapdata变量中,以便在位图的数据发生更改(像素发生更改或添加了过滤器)时通知函数 我试着设置绑定,但不起作用 一定有办法做到这一点,因为我可以通过“source”属性将mx:Image绑定到位图,并且当我修改位图时,显示的图像会一直更新。flex是如何做到的?它是在每一帧盲目地重画位图,还是很聪明,只在位图改变时重画?如果是这样的话,它怎么知道位图什么时候会改变呢?这只是一种半教育式的猜测,后面没有测试,所以还是吃点盐吧 当Flex绑定图像的源

在Flex中,如何将一个钩子连接到位图或bitmapdata变量中,以便在位图的数据发生更改(像素发生更改或添加了过滤器)时通知函数

我试着设置绑定,但不起作用


一定有办法做到这一点,因为我可以通过“source”属性将mx:Image绑定到位图,并且当我修改位图时,显示的图像会一直更新。flex是如何做到的?它是在每一帧盲目地重画位图,还是很聪明,只在位图改变时重画?如果是这样的话,它怎么知道位图什么时候会改变呢?

这只是一种半教育式的猜测,后面没有测试,所以还是吃点盐吧

当Flex绑定
图像的源属性时,
.source
的值为
位图资产
类型

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
}

当你尝试绑定时,你绑定了什么?即使代码不起作用,你也能包含它吗?