【问题标题】:Exporting Flash movie to downloadable animated GIF, server-side将 Flash 电影导出为可下载的动画 GIF,服务器端
【发布时间】:2009-01-20 05:33:28
【问题描述】:

假设我有一个 Flash 网站,您可以在其中创建头像和一些动作。

有没有办法用服务器端语言将它们保存到动画 GIF 中? (首选php)

我环顾四周,我所拥有的只是使用 Flash 软件本身的方法。有人试过吗?

提前致谢。

【问题讨论】:

    标签: flash export server-side animated-gif


    【解决方案1】:

    试试:

    AS3 GIF 动画编码类 0.1 [由 Thibault Imbert 撰写]

    http://www.bytearray.org/?p=93

    【讨论】:

      【解决方案2】:

      有趣的问题。应该可以将动画的帧作为位图数据发送到服务器并在服务器上组装一个动画 gif。您可能希望动画非常短并且分辨率非常低才能正常工作。

      一些起点:

      【讨论】:

        【解决方案3】:

        这完全取决于您在 Flash 中创建头像的方式。巧合的是,我的团队开发了一个类似的演示应用程序。它叫做FunIcons,你可以选择一个角色,然后用鼠标在脸上画一条路径来创建动画(按住鼠标按钮这样做),然后点击“保存”按钮,您将获得一个带有您刚刚绘制的序列的动画 gif。

        诀窍很简单:服务器端的 PHP 脚本获取构建动画的 GIF 文件序列,并从中构建动画 GIF。这是脚本本身:

        <?php
            header ("Content-type: image/gif");
            header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
            header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
            header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
            header ("Pragma: no-cache");                          // HTTP/1.0
            header ("Content-Disposition: attachment; filename=\"funicons.gif\"");
        
            require_once "GifBuilder/GIFEncoder.class.php";
        
            $path = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"];
            $i = strrpos($path, "/");
            $path = substr($path, 0, $i+1);
        
            $images = split(",", $_REQUEST["images"]);
            $prevUrl = "";
            while (list ($key, $val) = each($images))
            {   
                if (substr($val, 0, strlen($path)) == $path) $val = substr($val, strlen($path)); 
                if ($val == $prevUrl)
                {
                    $delay[count($delay)-1] += 10;
                } else {
                    $frames[] = file_get_contents($val);
                    $delay[] = 10;
                    $prevUrl = $url;
                }
                @set_time_limit(30);
            }
            $gif = new GIFEncoder ( $frames, $delay, 0, 2, -1, -1, -1, "bin" );
            print($gif->GetAnimation());
        ?>
        

        【讨论】:

        • 如果我错了,请纠正我,但看起来你只能在你有权访问原始 gif 的情况下使用你的代码。您如何将 Flash 视频“翻录”成 gif?
        • 你是对的。我假设,基于这个问题,这不会是一个障碍。
        猜你喜欢
        • 1970-01-01
        • 2011-06-15
        • 2013-03-20
        • 1970-01-01
        • 2014-10-22
        • 2013-05-21
        • 2023-01-05
        • 2011-04-10
        • 2011-02-19
        相关资源
        最近更新 更多