【发布时间】:2020-06-09 07:55:02
【问题描述】:
简单地说,我正在寻找一种 PNG 编码器,它可以将 RGB/RGBA ByteArray 直接转换为 PNG 文件,该文件也存储在 ByteArray 中,而根本不使用 BitmapData 类。我目前正在开发一个 ~v4.0 Scaleform Gfx 项目——它不支持任何 Get/SetPixel 方法。
【问题讨论】:
简单地说,我正在寻找一种 PNG 编码器,它可以将 RGB/RGBA ByteArray 直接转换为 PNG 文件,该文件也存储在 ByteArray 中,而根本不使用 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 支持免费获得。
【讨论】: