gpt4 book ai didi

php - 在不破坏动画的情况下调整动画 GIF 文件的大小

转载 作者:IT王子 更新时间:2023-10-29 00:51:07 25 4
gpt4 key购买 nike

我需要在不破坏动画的情况下调整动画 GIF 文件的大小。

我如何使用 PHP 来做到这一点?

最佳答案

如果你有 imagemagick 访问权限,你可以这样做:

system("convert big.gif -coalesce coalesce.gif");
system("convert -size 200x100 coalesce.gif -resize 200x10 small.gif");

如果您没有 system() 访问权限,这很可能通过 imagemagick 插件实现

注意:这可能会通过较小尺寸的图像创建较大的文件大小,因为合并本质上会取消优化图像。

更新:如果您没有 ImageMagick 访问权限,您应该可以使用以下步骤的组合来调整动画 gif 的大小(假设您有 GD 访问权限):

  1. 检测图片是否为 gif 动画:Can I detect animated gifs using php and gd? (最佳答案)
  2. 将动画 gif 分割成单独的帧:http://www.phpclasses.org/package/3234-PHP-Split-GIF-animations-into-multiple-images.html
  3. 调整各个帧的大小:http://www.akemapa.com/2008/07/10/php-gd-resize-transparent-image-png-gif/
  4. 再次将帧重新合成为动画 gif:http://www.phpclasses.org/package/3163-PHP-Generate-GIF-animations-from-a-set-of-GIF-images.html

这绝对比 ImageMagick 路线密集得多,但在技术上应该是可行的。

如果你成功了,请与全世界分享!

关于php - 在不破坏动画的情况下调整动画 GIF 文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/718491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com