使用 ActionScript BitmapData 对象

使用 ActionScript BitmapData 类在扩展的 ActionScript 端和 Java 端传递位图。 FREBitmapData 类使用以下适用于操作位图数据对象的方法扩展 FREObject:

  • acquire()

    在调用以下任何其他方法之前,必须先调用 acquire()

  • getHeight()

  • getWidth()

  • hasAlpha()

  • isInvertedY() (AIR 3.1)

  • isPremultiplied()

  • getLineStride32()

  • getBits()

  • invalidateRect()

  • release()

若要更改位图数据,首先应调用 acquire() ,然后再使用 getBits() 方法获取像素颜色数据。 getLineStride32() 方法指示每条水平线中有多少 32 位数据。尽管此值通常等于位图宽度,但是某些情况下,位图数据可能会被额外、不可见的字节填充。位图中的每个像素都是 ARGB 格式的 32 位值。操作完位图后,应调用 release() 释放位图数据。

在调用 acquire() release() 之间,请勿调用(任何对象,而不仅仅是获取的对象的)任何 FREObject 方法。存在这种限制的原因是其他调用执行的代码会产生副作用,会使字节数组对象或其内容无效。

若要指示 Java 实现已修改位图的全部或部分,请使用 invalidateRect() 函数使位图矩形无效。 x y 参数是要失效的矩形的坐标,相对于位图左上角的 0,0 坐标而言。 width height 字段是要失效的矩形的维度(以像素为单位)。

可使用静态工厂方法 FREBitmapData.newBitmapData() 新建FREBitmapData 对象。