【问题标题】:Get Notified of Change in Flex Bitmap or BitmapData?获取 Flex Bitmap 或 BitmapData 更改的通知?
【发布时间】:2010-09-29 17:13:13
【问题描述】:

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

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

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

【问题讨论】:

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

标签: apache-flex flash binding bitmap bitmapdata


【解决方案1】:

这只是一种半知性的猜测,没有经过任何测试,所以请加点盐。

当 Flex 绑定 Image 的源属性时,.source 的值是 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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2012-08-19
    相关资源
    最近更新 更多