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 压缩方法压缩字节数组
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 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颜色值)
}
}
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颜色值)
}
}