Php 如何显示与动画GIF分开的帧?

Php 如何显示与动画GIF分开的帧?,php,animated-gif,Php,Animated Gif,我正试着用它。如果需要的话,完整的代码可以在链接中找到,但是我不认为你会为了这个问题而这么做 我在我的网站上的代码如下,使用荷马·辛普森的动画gif $gifFilePath = 'images/homer.gif'; if (GifFrameExtractor::isAnimatedGif($gifFilePath)) { // check this is an animated GIF $gfe = new GifFrameExtractor(); $gfe->e

我正试着用它。如果需要的话,完整的代码可以在链接中找到,但是我不认为你会为了这个问题而这么做

我在我的网站上的代码如下,使用荷马·辛普森的动画gif

$gifFilePath = 'images/homer.gif';

if (GifFrameExtractor::isAnimatedGif($gifFilePath)) { // check this is an animated GIF

    $gfe = new GifFrameExtractor();

    $gfe->extract($gifFilePath);

    // Do something with extracted frames ...
    foreach ($gfe->getFrames() as $frame) {

        // The frame resource image var
        $img = $frame['image'];
        echo $img;

        // The frame duration
        $duration = $frame['duration'];

    }

}
但是我添加的“echo$img;”只输出了一堆资源id,比如“resource id#8Resource id#10Resource id#12”等等

我在谷歌上搜索过,它说资源ID意味着你试图输出一个资源,但你首先需要从资源中提取信息

那么,如何提取实际的img信息,以便显示动画gif中的每一帧呢

我基本上只想在页面下方显示动画gif的每一帧


有什么想法吗?

它们似乎只是gd句柄,所以
imagejpeg($frame['image'])
?我添加了$source=imagejpeg($frame['image']);回声“;这只是显示了一堆奇怪的图标“����JFIF��>创建者:gd jpeg v1.0(使用IJG jpeg v62),默认质量��" 等等。很明显我做了一些非常错误的事情。那是原始的jpeg二进制数据。你需要一个
头('Content-type:image/jpeg'))
告诉您的浏览器这是一张图像谢谢,它现在显示GIF中的第一张图像,并添加了标题。知道如何让GIF中的所有帧显示在页面下方吗?我是否必须先创建所有图像并将其保存到网站文件夹中(然后读取它们)?或者可以在运行中完成?您可以使用数据URI,但这会造成一个非常“沉重”的页面,因为html中嵌入了每个图像的base64个副本。