BitmapData.draw是什么意思
展开全部
我的理解是BitmapData.draw就像一个照相机,将图像记录下来,保存到位图对象,我们让他不停的纪录,就能将所有的图片同时展现出来,就像以上的实例,这样可以替代以前复制大量的mc并分别设置属性来显示效果的操作,关键是不会占用大量资源。
使用 BitmapData 类,您可以处理 Bitmap 对象的数据(像素)。可以使用 BitmapData 类的方法创建任意大小的透明或不透明位图图像,并在运行时采用多种方式操作这些图像。也可以访问使用 flash.display.Loader 类加载的位图图像的 BitmapData。
此类允许您将位图呈现操作与 Flash Player 的内部显示更新例程分隔开来。 通过直接操作 BitmapData 对象,您可以创建复杂的图像,不会因连续重新绘制矢量数据的内容而产生每帧开销。
BitmapData 类的方法支持通过可用于非位图显示对象的滤镜无法得到的效果。
BitmapData 对象包含像素数据的数组。 此数据可以表示完全不透明的位图,或表示包含 Alpha 通道数据的透明位图。 以上任一类型的 BitmapData 对象都作为 32 位整数的缓冲区进行存储。 每个 32 位整数确定位图中单个像素的属性。
每个 32 位整数都是四个 8 位通道值(从 0 到 255)的组合,这些值描述像素的 Alpha 透明度以及红色、绿色、蓝色 (ARGB) 值。 (对于 ARGB 值,最高有效字节代表 Alpha 通道值,其后的有效字节分别代表红色、绿色和蓝色通道值。)
将这四个通道(Alpha、红色、绿色和蓝色)与 BitmapData.copyChannel() 方法或 DisplacementMapFilter.componentX 及 DisplacementMapFilter.componentY 属性一起使用时,这些通道以数字形式表示,并且这些数字在 BitmapDataChannel 类中由以下常量表示:
BitmapDataChannel.ALPHA
BitmapDataChannel.RED
BitmapDataChannel.GREEN
BitmapDataChannel.BLUE
通过使用 Bitmap 对象的 bitmapData 属性,可以将 BitmapData 对象附加到 Bitmap 对象。
可以使用 Graphics.beginBitmapFill() 方法用 BitmapData 对象填充 Graphics 对象。
在 AIR 运行时中,DockIcon、Icon、InteractiveIcon 和 SystemTrayIcon 类中的每个类都包括一个 bitmaps 属性,该属性是定义图标的位图图像的 BitmapData 对象的数组。
在 AIR 1.5 和 Flash Player 10 中,BitmapData 对象的最大宽度或高度为 8,192 像素,并且像素总数不能超过 16,777,216 像素。(因此,如果 BitmapData 对象的宽度为 8,192 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本和 AIR 1.1 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。
如果 BitmapData 对象无效(例如,如果它的 height == 0 且 width == 0),或者已通过 dispose() 处理了该对象,则对 BitmapData 对象的任何方法或属性的调用都会引发 ArgumentError 错误。
使用 BitmapData 类,您可以处理 Bitmap 对象的数据(像素)。可以使用 BitmapData 类的方法创建任意大小的透明或不透明位图图像,并在运行时采用多种方式操作这些图像。也可以访问使用 flash.display.Loader 类加载的位图图像的 BitmapData。
此类允许您将位图呈现操作与 Flash Player 的内部显示更新例程分隔开来。 通过直接操作 BitmapData 对象,您可以创建复杂的图像,不会因连续重新绘制矢量数据的内容而产生每帧开销。
BitmapData 类的方法支持通过可用于非位图显示对象的滤镜无法得到的效果。
BitmapData 对象包含像素数据的数组。 此数据可以表示完全不透明的位图,或表示包含 Alpha 通道数据的透明位图。 以上任一类型的 BitmapData 对象都作为 32 位整数的缓冲区进行存储。 每个 32 位整数确定位图中单个像素的属性。
每个 32 位整数都是四个 8 位通道值(从 0 到 255)的组合,这些值描述像素的 Alpha 透明度以及红色、绿色、蓝色 (ARGB) 值。 (对于 ARGB 值,最高有效字节代表 Alpha 通道值,其后的有效字节分别代表红色、绿色和蓝色通道值。)
将这四个通道(Alpha、红色、绿色和蓝色)与 BitmapData.copyChannel() 方法或 DisplacementMapFilter.componentX 及 DisplacementMapFilter.componentY 属性一起使用时,这些通道以数字形式表示,并且这些数字在 BitmapDataChannel 类中由以下常量表示:
BitmapDataChannel.ALPHA
BitmapDataChannel.RED
BitmapDataChannel.GREEN
BitmapDataChannel.BLUE
通过使用 Bitmap 对象的 bitmapData 属性,可以将 BitmapData 对象附加到 Bitmap 对象。
可以使用 Graphics.beginBitmapFill() 方法用 BitmapData 对象填充 Graphics 对象。
在 AIR 运行时中,DockIcon、Icon、InteractiveIcon 和 SystemTrayIcon 类中的每个类都包括一个 bitmaps 属性,该属性是定义图标的位图图像的 BitmapData 对象的数组。
在 AIR 1.5 和 Flash Player 10 中,BitmapData 对象的最大宽度或高度为 8,192 像素,并且像素总数不能超过 16,777,216 像素。(因此,如果 BitmapData 对象的宽度为 8,192 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本和 AIR 1.1 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。
如果 BitmapData 对象无效(例如,如果它的 height == 0 且 width == 0),或者已通过 dispose() 处理了该对象,则对 BitmapData 对象的任何方法或属性的调用都会引发 ArgumentError 错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询