小菜AS3之路

2012.2.17
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

BitmapData的数据

Posted on 2012-03-09 18:50  枫雨  阅读(276)  评论(0)    收藏  举报

1.BitmapData转为ByteArray中数据集

bitmap.getPixels(bitmap.rect)可获得矩阵二进制数据

   bytes:ByteArray = bitmap.getPixels(bitmap.rect); //矩形数据
   bytes.writeShort(bitmap.width); //宽
   bytes.writeShort(bitmap.height); //高
   bytes.writeBoolean(bitmap.transparent); //透明度值
   bytes.compress();// zlib 压缩方法压缩字节数组

 2.还原BitmapData数据

根据宽高及bmp.setPixel(n,m,bytes1.readUnsignedInt())绘制,可还原BitmapData数据

var bytes;
bytes.uncompress();
bytes.position = bytes.length - 5;
width = bytes.readShort()
bytes.position = bytes.length - 3;
height = bytes.readShort();
bytes.position = bytes.length - 1;
alpha = bytes.readBoolean()
var bmpdata:BitmapData = new BitmapData(width ,height ,true);
 
var bytes1:ByteArray = bytes.position - 5; //除去其他值
bytes1.position = 0;
for(var m:int=0; m<width; m++){
    for(var n:int=0; n<height ; n++){
        bmpdata.setPixel(n,m,bytes.readUnsignedInt());  //readUnsignedInt() 读取一个无符号的 32 位整数(即32颜色值)
    }
}