resize and/or crop an animated GIF
<?php
$image = new Imagick($file_src);
$image = $image->coalesceImages();
foreach ($image as $frame) {
$frame->cropImage($crop_w, $crop_h, $crop_x, $crop_y);
$frame->thumbnailImage($size_w, $size_h);
$frame->setImagePage($size_w, $size_h, 0, 0);
}
$image = $image->deconstructImages();
$image->writeImages($file_dst, true);
?>Imagick::coalesceImages
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Imagick::coalesceImages
Референца за `imagick.coalesceimages.php` со подобрена типографија и навигација.
Imagick::coalesceImages
(PECL imagick 2, PECL imagick 3)
Imagick::coalesceImages — Композира збир на слики
= NULL
Композира збир на слики, почитувајќи ги сите офсети на страници и методи на отстранување. GIF, MIFF и MNG секвенците на анимација обично започнуваат со позадина на сликата и секоја следна слика варира во големина и офсет. Враќа нов Imagick објект каде што секоја слика во секвенцата е со иста големина како првата и е композирана со следната слика во секвенцата.
Параметри
Оваа функција нема параметри.
Вратени вредности
Враќа нов Imagick објект при успех.
Errors/Exceptions
Фрла ImagickException при грешка.
Белешки од корисници 3 белешки
Here goes an exaple how to resize GIF-s.
<?php
$imagick = new Imagick("original.gif");
$format = $imagick->getImageFormat();
if ($format == 'GIF') {
$imagick = $imagick->coalesceImages();
do {
$imagick->resizeImage(120, 120, Imagick::FILTER_BOX, 1);
} while ($imagick->nextImage());
$imagick = $imagick->deconstructImages();
$imagick->writeImages('new_120x120.gif', true);
// can be added some more gifs
$imagick = $imagick->coalesceImages();
do {
$imagick->resizeImage(100, 100, Imagick::FILTER_BOX, 1);
} while ($imagick->nextImage());
$imagick = $imagick->deconstructImages();
$imagick->writeImages('new_100x100.gif', true);
}
$imagick->clear();
$imagick->destroy();
?>
You can use any resize method (resizeImage) with this example.
This example works fine with *imagick module version 2.2.1-dev*, but doesn't work correctly with *imagick module version 3.0.1*.