如何使用标准php函数调整gif大小而不丢失动画
我有一个图片上传PHP脚本,可以很好地处理png、jpg和jpeg图像。问题是,由于我正在使用如何使用标准php函数调整gif大小而不丢失动画,php,imagemagick,gif,animated-gif,Php,Imagemagick,Gif,Animated Gif,我有一个图片上传PHP脚本,可以很好地处理png、jpg和jpeg图像。问题是,由于我正在使用imagealphabling、imagesavealpha、imagecreatetruecolor和imagecopyresampled组合来调整图片大小,gif动画将丢失。我正在使用imagecreatefromformgif将gif加载到内存中 我知道可以使用它来实现所需的结果,但我想知道是否有一种解决方案,可以使用标准php函数组合来调整gif大小,而不会丢失动画。我有这样的解决方案,还是应该
imagealphabling
、imagesavealpha
、imagecreatetruecolor
和imagecopyresampled
组合来调整图片大小,gif动画将丢失。我正在使用imagecreatefromformgif
将gif加载到内存中
我知道可以使用它来实现所需的结果,但我想知道是否有一种解决方案,可以使用标准php函数组合来调整gif大小,而不会丢失动画。我有这样的解决方案,还是应该开始使用库?可以使用GD(您称之为“标准PHP”)调整动画GIF的大小 您需要将图像拆分为单独的帧,调整其大小,然后将所有内容重新组合在一起 您可以看到更详细的解释 然而,我真的建议您使用imagick,因为它易于安装,并且更易于用于像这样的高级任务 编辑这是我上面链接的答案中的相关部分: 如果您没有ImageMagick访问权限,您应该能够使用 结合以下步骤调整动画gif的大小(假设 您有GD访问权限):
您必须将gif分解为其
x
图像,然后摆弄每个单独的图像,然后将新图像放回动画gif,这是使用GD不可能的。谢谢。如果您将此作为答案添加并解释一下,我肯定会接受您的答案。不过,我会等待一点其他答案。可能是其他答案e知道一些我们都不知道的事情。imagemagick是用什么实现的?如果是php,那是可能的。当然,如果我们从头开始实现图像处理,我们应该能够解决这个问题,但是从管理的角度来看,如果是这样的话,最好使用一个库。@LajosArpad imagemagick,很像imagick和php解释器r是用C写的。感谢您提供有关imagick和imagemagick的信息。