我们正在尝试将大型SWF文件的图像发送到服务器,以便将其发送出去,并且我们在传输时遇到了一些问题。Flash截图
SWF约为900px x 600px并限制为AS2,因此我们一直使用此位图导出器类。我们尝试过使用几种不同的方式来传输数据; base10,base36和base128,但他们都不会以任何形式及时发送文件。
现在我们正在处理每个图像60-120秒,这是不可接受的。
有没有人处理这个类或另一个用于发送大型位图数据到闪存服务器的任何建议?
谢谢你的时间。
我们正在尝试将大型SWF文件的图像发送到服务器,以便将其发送出去,并且我们在传输时遇到了一些问题。Flash截图
SWF约为900px x 600px并限制为AS2,因此我们一直使用此位图导出器类。我们尝试过使用几种不同的方式来传输数据; base10,base36和base128,但他们都不会以任何形式及时发送文件。
现在我们正在处理每个图像60-120秒,这是不可接受的。
有没有人处理这个类或另一个用于发送大型位图数据到闪存服务器的任何建议?
谢谢你的时间。
你得到如此长的上传时间的原因是图像几乎没有压缩(或根本不取决于类是如何实现的)。在16 bpp(或者现在使用的任何闪存使用的)中,900 x 600像素等于1.5mb的原始数据。
我怀疑AS2有任何有用的压缩库,但可能是一个可能的路径。
在客户端缩小图像的最简单方法是降低分辨率。您到达服务器后是否使用全分辨率?如果不是这可能是一种可能的方式。我猜你已经意识到使用AS3会更容易,那么你可以将整个图像作为一个jpeg客户端进行压缩,而不需要太多的努力,但是我想你的应用程序的其余部分是AS2,模拟点)
您也可以尝试使用amfphp,因为它允许在向服务器发送数据时进行二进制序列化。
您可能想要在AS2中实现一个简单的RLE算法(如果尚不存在)来压缩位图。假设你有很好的纯色矢量元素,RLE应该提供相当好的压缩。
有几个不错的JPEG压缩类在那里为AS3,我使用的一个是谷歌:http://code.google.com/p/as3corelib/
您也许能够端口到AS2 ...
只是一个快速飞过,并链接 - http://www.gskinner.com/blog/archives/2006/03/saving_bitmapda.html
编辑 - 这可能也有帮助! http://www.5etdemi.com/blog/archives/2006/10/the-ultimate-as2-bitmapdata-saving-solution/
格兰特斯金纳表明图像数据下采样到一个较小的调色板,然后某些运行时压缩(他是朝向UTF-8字符串靠在被压缩,然后在别处处理图像转换,我想在服务器)
UltimateBrent与JPEG压缩库的链接听起来像是一个很好的,如果不是技术上有挑战性的想法。
是颜色板的深度问题?有损压缩?
你可以向服务器发送一堆变量,在本地运行的swf上重新创建映像,然后将它导出到那里?还是只有太多的变量(如在绘画类型的程序中)?比如说,如果是制作自己的虚拟形象,您可以将设置转换为XML并从服务器上生成图像。不知道!
我想我需要更多的细节来推测。您是否发送由SWF创建的截图?什么是您的高速传输能力(您的ISP或连接类型)?如果您使用的是14,400kbps调制解调器,则上传速率相当不错。 – 2008-11-18 22:55:16
您正在使用哪个位图导出类?你能发布你的代码吗? – defmeta 2008-11-23 20:01:40