AS3 BitmapData source code


AS3 BitmapData source code

移动AIR应用程序需要向后端发送一个大图像,以便稍后在网页中显示。AIR应用程序中的PNGEncoder永远都需要完成,因此我们的想法是将图像数据转换为ByteArray,压缩并发送到PHP后端,在那里,PHP代码将其保存为PNG。因此,我希望将PNGEncoder.as和BitmapData类移植到PHP来实现这一点。我在as3corelib中找到了PNGEncoder.as,但找不到它使用的BitmapData类的源代码。所以问题是
1.有没有代码可以实现我想要做的事情
2.在哪里可以找到BitmapData源代码
3.还有其他方法可以实现我所缺少的目标吗

注意1.我意识到我可以在BitmapData所在的地方反编译airglobal.swf,但正在寻找一种更干净的方法
注2.我知道AMFPHP,但它不支持BitmapData类型
谢谢Andy

我看到了这个问题的两种解决方案。

首先,您可以考虑使用Worker来执行转换和发送例程,因为图像转换是一项非常独立且简单的卸载任务,而且由于大多数现代设备都有多个核心,因此最好将硬件放在客户端上,而不是放在服务器上。当然,您必须采取一些措施,为工作实例提供所需的数据,并正确上传图像(Cookie在工作实例中可能处理不好),但这种方法通常更干净,不需要更改服务器端。

第二种方法是使用BitmapData.getPixels()将像素区域转换为字节序列,然后将它们原封不动地发送到服务器进行转换。但是,请注意,原始位图中的数据量可能太大,服务器无法接受,您希望每个像素不少于4个字节,因为AS3中的位图是32位的。上传后,您可以使用服务器端图像编码器在服务器上转换原始数据。