使用 ImageMagick 的动画 GIF 的 PNG 预览失真

PNG-Preview of animated GIF with ImageMagick is distorted

我正在为上传到我们服务器的所有 JPG/PNG/GIF 创建预览图像。

为此,我将 ImageMagick 用于:

convert -format jpg -quality 90 -strip -background white -flatten -alpha off +repage -resize '255x255>' ".$locationtmp." -write '".$preview."'");

添加的参数是为了使背景变平(使它变白而不是变黑)。

但是,当使用代码创建动画 GIF 的预览时,结果会失真。

扭曲结果示例:


我尝试添加 +repage 参数但没有帮助。

如何将 GIF 预览为 PNG 格式?也可能只是第一帧。

在 Imagemagick 中,如果您想要包括 gif 在内的所有格式的预览图像,并且只想预览动画的第一帧,则只需在文件名中添加 [0],例如 animation.gif[ 0]。这将采用动画的第一帧和其他格式(如 JPG 和 PNG)的唯一帧,它们只允许一个帧。附加的 [0] 不会损害其他格式。

所以使用

image.suffix[0] in place of just image.suffix

用于生成单张图片预览