简单地说,我正在寻找一种PNG编码器,它可以直接将RGB/RGBAByteArray
转换为同样存储在ByteArray
中的PNG文件,而根本不使用BitmapData
类。我目前正在进行一个~v4.0 Scaleform Gfx项目,该项目不支持任何Get/SetPixel方法。
如果您使用的是Scaleform 4.0,那么最好的解决方案可能是通过ExternalInterface
调用将有问题的ByteArray
绑定到C++中的GFx::Value
。使用GFx::Value
,您可以使用ReadByteArray
、WriteByteArray
等
Scaleform 4.0默认内置一个PNG读写器Scaleform::Render::PNG::FileReader/FileWriter
。这些基本上只是封装了libpng
的功能。您可以使用Scaleform::MemoryFile
来包装传入/传出字节,因此它们可以使用此接口。
或者,如果要使用BitmapData
API,可以升级到Scaleform的最终版本,该版本可从Autodesk支持部门免费获得,前提是您拥有有效的许可证。