Imagick::coalesceImages

(PECL imagick 2.0.0)

Imagick::coalesceImagesComposites a set of images

Description

Imagick Imagick::coalesceImages ( void )

Composites a set of images while respecting any page offsets and disposal methods. GIF, MIFF, and MNG animation sequences typically start with an image background and each subsequent image varies in size and offset. Returns a new Imagick object where each image in the sequence is the same size as the first and composited with the next image in the sequence.

Return Values

Returns a new Imagick object on success.

Errors/Exceptions

Throws ImagickException on error.

Коментарии

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(120120Imagick::FILTER_BOX1);
  } while (
$imagick->nextImage());
 
$imagick $imagick->deconstructImages();
 
$imagick->writeImages('new_120x120.gif'true);

 
// can be added some more gifs
 
$imagick $imagick->coalesceImages();
  do {
     
$imagick->resizeImage(100100Imagick::FILTER_BOX1);
  } 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*.
2011-05-02 06:58:26
http://php5.kiev.ua/manual/ru/imagick.coalesceimages.html
Автор:
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_h00);
}

$image $image->deconstructImages();
$image->writeImages($file_dsttrue);
?>
2012-10-17 23:06:50
http://php5.kiev.ua/manual/ru/imagick.coalesceimages.html
Автор:
If you wish to open an animated gif, don't ping the image with $imagick->pingImage(), you will get the same amount of frames you have in the gif, added to the start - but they're all black with stripes. So you have then double the amounts of frames the gif actually has.
2016-02-08 18:09:10
http://php5.kiev.ua/manual/ru/imagick.coalesceimages.html

    Поддержать сайт на родительском проекте КГБ