Создание gif анимации на php GD

Создание gif анимации на php GDНаткнулся на весьма интересный класс для создания gif анимации. Для работы класса достаточно библиотеки GD, которая подключена практически на всех серверах поддерживающих php.
Немного помучив этот класс, а написал небольшой пример создания анимированой картинки.

Скачать класс можно тут — ссылка
Ниже приведен код с подробными комментариями:

include('GIFEncoder.class.php'); // подключаем класс для создания gif
$frames = array(); // массив для хранения слайдов
$framed = array(); // массив для храниения интервалов смены слайдов

// создаем первый слайд
$image = imagecreatefrompng('img_1.png'); // загрузаем картинку
// наносим текст на картинку
$color = imagecolorallocate($image, 0, 0, 0); //
imagestring($image, 5, 20, 20, "Hello world!", $color);
ob_start(); // включаем буферизацию вывода
imagegif($image); // пишем в буфер получившийся слайд
$frames[] = ob_get_contents(); // записываем в хранилище слайд из буфера
$framed[] = 100; // записываем интервал до смены слайда
ob_end_clean(); // отключаем буферизацию и чистим буфер

// второй слайд
$image = imagecreatefrompng('img_2.png');
ob_start();
imagegif($image);
$frames[] = ob_get_contents();
$framed[] = 50;
ob_end_clean();

// создаем gif картинку из
$gif = new GIFEncoder($frames, $framed, 0, 0, 0, 0, 0, 'bin');
$fp = fopen('animation.gif', 'w'); // создаем и открываем файл
fwrite($fp, $gif->GetAnimation()); // пишем в него 
fclose($fp); // закрываем файл
Рассказать друзьям:


Создание gif анимации на php GD: 1 комментарий

  1. Какая замечательная штука.
    В сети фиг найдёшь прогу по созданию, платные одни, с конскими ценами.
    Гимп, конечно, бесплатный, но нельзя создать анимашку с разным временем на кадрах.
    Удивительно, что рабочее решение нашлось на PHP.
    Спасибо!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*