AS3的BitmapData内存占用
AS3的位图类BitmapData,在内存中以32位存储。 ????????图片的表现形式一般为四个通道的混合,即BGRA。每个颜色通道(R、G、B)存储单独的颜色值,Alpha通道负责存储透明度信息。 ????????每个通道的信息以二进制存储,一个位数(bit)的二进制可以表现两种状态,即0、1(二值图像)。那么8个位数可以表现2^8?=?256种状态,即256个色阶。四个通道是4×8?=?32(bit)。 ????????内存中一个字节(Byte)占用8位二进制,那么一个像素占用32/8?=?4(Byte)。 ????????那么AS3的BitmapData在内存中占用的空间是:像素数×4。 ????????比如,一张1024×1024的图片占用的空间为:1024×1024×4?=?1048576(Byte)=?4M。 ????????目前为止(2012/7/6),AS3的机制只支持32位的图像,也就是说所有编码格式的图像经过AS3的解码以后全部是32位,Adobe未提供其他位数的API。 比较以下占用大小: 1.bitmapData _maskBitMapData = new BitmapData(1920,1024,true,0x66666666); _mask = new Bitmap(_maskBitMapData); 2.shape _mask = new Shape(); _mask.graphics.beginFill(0x666666,0.6); _mask.graphics.drawRect(0,1920,1024); _mask.graphics.endFill(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |