如何在 AS3 中将 Little-endian ByteArray 转换为 Big-endian?我将 bitmapData 转换为 Big-endian ByteArray,然后使用 Adobe Alchemy 将其推送到内存中。然后当我从内存中读取它时,我得到了 Little-endian ByteArray。如何获得大端。
我使用此示例代码http://blog.debit.nl/2009/03/using-bytearrays-in-actionscript-and-alchemy/(C 中的内存分配与 Actionscript 中的直接访问(FAST !!))
代码:
var ba:ByteArray = currentBitmapData.getPixels( currentBitmapData.rect );
ba.position = 0;
var ns:Namespace = new Namespace("cmodule.al_exam");
var data:ByteArray = (ns::gstate).ds; //point to memory
_dataPosition = lib.initByteArray(ba.length); //This is the position of the data in memory
lib.writeData(ba); //example function to write data in C
data.position = _dataPosition; //reset position
// get noise, not image
bmd.setPixels(currentBitmapData.rect,data);
myBitmap.bitmapData = bmd;