Здравствуйте, камрады.
В общем понадобилось ресайзить gif без потери анимации..
Подкиньте класс, или ещё какую-нибудь полезную инфу по данной теме.
Здравствуйте, камрады.
В общем понадобилось ресайзить gif без потери анимации..
Подкиньте класс, или ещё какую-нибудь полезную инфу по данной теме.
Windler, тоже интересно. А то приходиться резать гифки через онлайн сервисы, чтоб анимация живая была
Нашел код, для тех, у кого есть imagemagick:
try
{
/*** Read in the animated gif ***/
$animation = new Imagick("animation.gif");
/*** Loop through the frames ***/
foreach ($animation as $frame)
{
/*** Thumbnail each frame ***/
$frame->thumbnailImage(100, 100);
/*** Set virtual canvas size to 100x100 ***/
$frame->setImagePage(100, 100, 0, 0);
}
/*** Write image to disk. Notice writeImages instead of writeImage ***/
$animation->writeImages("animation_thumbnail.gif");
echo "Images written";
}
catch(Exception $e)
{
echo $e->getMessage();
}Windler, Есть таких два класса GIFDecoder и GIFEncoder, которые очень легко найти в гугле. Первый разбирает гифку, второй собирает. Так вот в теории после разборки можно ресайзить все кадры, а позже собирать все обратно.
ну старый же как-то грузит авы в гифе, на джоне и на моби; сам не пробовал, но вероятно в аплоад классе есть такая возможность, надо его внимательно смотреть
Лучше imagemagick не найдешь