BitmapData的数据

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颜色值)
    }
}
原文地址:https://www.cnblogs.com/xcai/p/2388176.html