在 Flex 中将 GIF 转换为 SWF
Posted
技术标签:
【中文标题】在 Flex 中将 GIF 转换为 SWF【英文标题】:Converting GIF to SWF in Flex 【发布时间】:2013-08-14 19:49:10 【问题描述】:所以我想将 gif 文件转换为 swf 格式,但不使用 exe 文件(有很多可免费下载的文件)。如果可能的话,我想用 php/Flex 做这个。我知道 php 可以执行 linux 命令,这可能是一种方法(有用于 linux 的工具),但我想知道是否有一个可以执行此操作的 flex 库 - 这将有效地让其他人的计算机在客户端上执行它一边:)
有人有这方面的经验吗?
谢谢
【问题讨论】:
您想在客户端将 GIF 转换为 SWF?为什么不在发送到客户端之前将其转换为 SWF? 嗯,这不是一个要求...我只是想知道如何去做。我想允许用户上传 gif 并让他下载 / 以 swf 格式获取。 无论您使用什么工具或库,您都需要将 gif 文件嵌入到生成的 swf 中,为此您可能需要一个编译器。 客户端解决方案是否比服务器端更受欢迎?服务器端可能会更可靠,即使您可以找到某种方法来执行此客户端(无论如何可能都需要 AIR)。这是一种奇怪的要求 - gif/swf 有点像苹果/橙色。如果您需要建议,也许可以退后一步重新审视您的要求,或者扩展您真正的最终目标。 实际上,我只是在想如何解决这个问题...实际上,我最初的想法是使用类似 swftools (swftools.org) 的东西,然后让用户上传文件,使用 php 进行转换exec() 并简单地返回文件。但是,我仍然想考虑其他选项,即在客户端进行。我想这个讨论给了我一个答案。如果有人可以将其形成为答案,那就太好了,所以我可以接受它:) 【参考方案1】:as3gif 库允许您在 Flash 应用程序中显示 GIF 图像。
一种方法是将生成的 DisplayObject 导出到 ByteArray。
var data:ByteArray = new ByteArray();
data.writeObject(gif);
您可以将原始数据发送到服务器或让用户保存文件(至少使用 AIR)。
【讨论】:
看起来这会导致用户保存 gif 文件,而我想换一种方式 -> 用户上传 gif 并获得 swf 作为回报。还是我误会了? 你误会了。我没有尝试,但它应该按照我描述的方式工作。 ByteArray.writeObject() 允许您将 DisplayObjects 导出为 SWF 二进制文件。 会尝试...谢谢。无论如何,我也在非常认真地考虑使用服务器端,但为了好玩......以上是关于在 Flex 中将 GIF 转换为 SWF的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中将动画 .gif 转换为 .webm 格式?