0

在 Flex 中,如何挂钩到位图或位图数据变量,以便在位图数据发生更改(像素已更改或添加过滤器)时通知函数?

我尝试设置绑定,但它不起作用。

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

4

1 回答 1

0

这只是一种半受过教育的猜测,没有经过任何测试,所以加点盐吧。

当 Flex 绑定 an 的 source 属性时Image,其值为.sourcetype BitmapAsset

BitmapAsset有一个.bitmapData属性,它是对相关位图的引用。

我希望 Flex 完成的绑定是针对该.bitmapData属性的。

我也看不出有什么理由你不应该这样做。不过,我认为您必须做一些循环工作,因为您必须创建一个实例并用您想要密切关注BitmapAsset的内容填充它,然后绑定到对象的属性。 BitmapData.bitmapDataBitmapAsset

假设一个名为 '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
}
于 2010-09-29T19:09:59.930 回答