Хотя я не эксперт по PHP, я знаю, что эта проблема не слишком сложная. То, что вы хотите сделать, - это создать объект Imagick, к которому вы можете добавлять свои рамки. С каждым кадром вы можете изменять такие параметры, как время и т. Д.
Предполагая, что вы работаете с изображениями, которые загружены из базовой веб-формы, я написал базовый пример, который просматривает изображения, которые были загружены с именем «image0», где «0» поднимается до любого количества. файлы включены. Естественно, вы можете просто добавлять изображения, используя те же методы для фиксированных имен файлов или чего-то еще.
$GIF = new Imagick();
$GIF->setFormat("gif");
for ($i = 0; $i < sizeof($_FILES); ++$i) {
$frame = new Imagick();
$frame->readImage($_FILES["image$i"]["tmp_name"]);
$frame->setImageDelay(10);
$GIF->addImage($frame);
}
header("Content-Type: image/gif");
echo $GIF->getImagesBlob();
В этом примере создается объект Imagick, который станет нашим GIF. Файлы, которые были загружены на сервер, затем циклически перебираются, и каждый из них сначала читается (однако помните, что этот метод основан на том, что изображения названы так, как я описал выше), во-вторых, он получает значение задержки, и в-третьих, он добавляется ПОДАРОК, чтобы быть. Это основная идея, и она даст то, что вам нужно (я надеюсь).
Но есть что подделать, и ваша конфигурация может выглядеть иначе. Я всегда находил ссылку php.net Imagick API на отстой, но все же приятно иметь ее, и я время от времени использую ее для ссылок на вещи из стандартного ImageMagick.
Надеюсь, что это немного соответствует тому, что вы хотели.