在PHP 中使用動畫保留來調整動畫GIF 的大小
在保持動畫的同時調整動畫GIF 的大小可以使用ImageMagick 等外部工具或透過GD 函式庫函數的組合。
ImageMagick 方法:
如果您有權限存取ImageMagick,下列指令可以調整動畫GIF 的大小:
system("convert big.gif -coalesce coalesce.gif"); system("convert -size 200x100 coalesce.gif -resize 200x10 small.gif");
1.檢測圖像類型:
// Get image $sourceGif = imagecreatefromgif("big.gif"); // Determine if animated if (gdImageAnimationLen($sourceGif) > 1) { // Split into frames $frames = $frames = gdImageSplitAnimation($sourceGif); // Resize frames $resizedFrames = []; foreach ($frames as $frame) { $resizedFrames[] = gdImageScale($frame, $newWidth, $newHeight); } // Recomposite GIF $newGif = $newGif = gdImageCreateAnimatedGif() ; foreach ($resizedFrames as $frame) { gdImageAddGif($newGif, $frame); } // Output GIF imagegif($newGif, "small.gif"); }
以上是如何在 PHP 中調整動畫 GIF 的大小同時保留動畫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!