AS3 BitmapData源代码

时间:2015-03-28 23:37:05

标签: php actionscript-3

移动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类型
谢谢 安迪

1 个答案:

答案 0 :(得分:0)

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

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

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