PHP Gif GD 库动画丢失仅显示第一帧

发布于 2024-12-17 18:15:39 字数 184 浏览 3 评论 0 原文

我在使用 GD 库时遇到问题。

当我使用 imagecreatefromgif 或类似的东西时,对于已经有动画的 gif,我只显示一个帧。没有动画所以。

我已经尝试了网络上的一切,但没有结果。您知道如何使用 GD 库正确显示 GIF 动画吗?当我看到那些没有动画的图像时,真是令人沮丧......

I'm having a problem with GD Libraries.

When I use imagecreatefromgif or stuff like that, with an already-animated gif, I just get a single frame to be displayed. No animation so.

I've tried everything it's on the web without results. Do you know a way to just show correctly the animation of a GIF with GD Libraries? It's just frustrating when I see those images stuck without animation...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

流心雨 2024-12-24 18:15:39

虽然我个人从未遇到过它们,但据说 GD 库对创建动画 GIF 文件有一些 GIF 支持。来自常见问题解答

是的。 2004 年 7 月 21 日,gd 2.0.28 恢复了对 GIF 的支持。还提供了对创建 GIF 动画的支持。请注意,gdlib-config --features 可用于列出 gd 支持的图像格式。最近更新之前的 gdlib-config 版本不支持 --features 选项,这可以理解为 GIF 不可用。

然而,据我所知,它没有读取动画 GIF 的功能。

如果您想要 ImageMagick,您必须转向 处理动画 GIF

While I personally have never come across them, the GD library is said to have some GIF support for creating animated GIF files. From the FAQ:

Yes. Support for GIF was restored in gd 2.0.28 on July 21st, 2004. Support for creating GIF animations is also available. Note that gdlib-config --features can be used to list the image formats supported by gd. Versions of gdlib-config prior to recent updates do not support the --features option, which can be understood to mean that GIF is not available.

However, as far as I know, it has no capabilities to read animated GIFs.

You will have to turn to ImageMagick if you want to process animated GIFs.

深海夜未眠 2024-12-24 18:15:39

GD 做不到。方法是安装ImageMagick(在服务器上)。然后你向它发出一个命令来执行你想要的操作。

例如,要调整动画 gif 的大小:

exec('convert ' . escapeshellarg($originalfile) . ' -coalesce -resize ' . $width . 'x' . $height . ' -layers optimize ' . escapeshellarg($newfile));

另请参阅:[1][2]

You can't do it with GD. The way to do it is to have ImageMagick installed (on the server). Then you shell out a command to that to do what you want.

E.g., to resize an animated gif:

exec('convert ' . escapeshellarg($originalfile) . ' -coalesce -resize ' . $width . 'x' . $height . ' -layers optimize ' . escapeshellarg($newfile));

See also: [1], [2]

我的痛♀有谁懂 2024-12-24 18:15:39

也许您想检查SVGDreams 库。它是一个支持 ajax 和键盘的 SVG 动画库。

May be you'd like to check SVGDreams library. It's an SVG animation library with ajax and keyboard support.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文