gre*_*rey 2 copy bytearray actionscript-3 bitmapdata
我正在做一个简单的测试.我想将BitmapData写入ByteArray.我正在尝试使用writeObject()和readObject().读取对象似乎无法理解BitmapData.
var byteArray : ByteArray = new ByteArray();
var _cache : BitmapData = new BitmapData( 640, 480, true, 0x000000 );
var _blank : BitmapData = new BitmapData( 640, 480, true, 0x000000 );
byteArray.writeObject( _blank );
byteArray.position = 0;
_cache = byteArray.readObject() as BitmapData;
trace( _cache ); // Traces null
Run Code Online (Sandbox Code Playgroud)
任何人都可以为我清除这个吗?我无法理解readObject()出了什么问题;
我知道我可以这样做getPixels()和setPixels(),但是我想在这里将对象视为一个对象.
你应该使用BitmapData::getPixels和BitmapData::setPixels...将类实例写入ByteArray,因为它永远不会像预期的那样完全运行...尝试使用Sprites ... :) ...这主要是因为默认实现只是写了一个对象的属性IDataOutput(ByteArray或Socket)...像素不是BitmapData那个意义上的属性...... BitmapData它只是一个ActionScript包装器,它将接口暴露给某个内部flash播放器数据结构......
你应该写一个适配器的BitmapData,实现IExternalizable,让你有控制,过会发生什么...基本上,你只需要读/写的尺寸,而实际像素有效载荷......也许是透明的标志..记得用registerClassAlias......
格尔茨
back2dos
| 归档时间: |
|
| 查看次数: |
8262 次 |
| 最近记录: |