我将位图数据对象转换为字节数组:
var bytes:ByteArray = bitmapDataA.getPixels(bitmapDataA.rect);
我将其保存为 .jpg 文件以供以后使用:
writeStream.writeBytes(bytes, 0, bytes.bytesAvailable);
现在,当我想检索数据时:
var file:File = File.documentsDirectory.resolvePath("data/"+photoNameVec[loadCounter]);
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
var fileContent:ByteArray = new ByteArray;
fileStream.readBytes(fileContent);
fileStream.close();
var bmpData:BitmapData = new BitmapData(XXX, YYY);
bmpData.setPixels(bmpData.rect, fileContent);
addChild(new Bitmap(bmpData));
但我需要得到准确的 XXX 和 YYY 才能正确显示图形。我怎样才能做到这一点?
编辑:
由于无法根据 bytearray 确定位图数据的宽度和高度,我决定将我拍摄的所有图片转换为 1024px x 768px:
var bitmapDataA:BitmapData = new BitmapData(mpLoaderInfo.width, mpLoaderInfo.height);
var matrix:Matrix = new Matrix();
matrix.scale( 1024 / mpLoaderInfo.width, 768 / mpLoaderInfo.height);
var bitmapDataB:BitmapData = new BitmapData(1024,768);
bitmapDataB.draw(mpLoaderInfo.content, matrix, null, null, new Rectangle(0,0,1024,768), true);
仍在等待有关从位图数据的getPixels方法创建的字节数组获取宽度 x 高度的提示。