没有 BitmapData 的 AS3 PNG 编码器
Posted
技术标签:
【中文标题】没有 BitmapData 的 AS3 PNG 编码器【英文标题】:AS3 PNG Encoder without BitmapData 【发布时间】:2020-06-09 07:55:02 【问题描述】:简单地说,我正在寻找一种 PNG 编码器,它可以将 RGB/RGBA ByteArray
直接转换为 PNG 文件,该文件也存储在 ByteArray
中,而根本不使用 BitmapData
类。我目前正在开发一个 ~v4.0 Scaleform Gfx 项目——它不支持任何 Get/SetPixel 方法。
【问题讨论】:
这个? help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/… 【参考方案1】:如果您使用的是 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 支持免费获得。
【讨论】:
以上是关于没有 BitmapData 的 AS3 PNG 编码器的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 AS3 Pixelate bitmapData
ActionScript 3 带有Masked DisplayObject的AS3 bitmapData.draw()