Как обрезать gif изображение с помощью imagick?
Как обрезать gif изображение на php imagick?
1 ответ
|
Вопрос решился: $imagick = new Imagick('file.gif'); $image = $imagick->coalesceImages(); $crop_w = 20; $crop_h = 20; $crop_y = 0; $size_w = 20; $size_h = 20; foreach ($image as $frame) { $width = $frame->getImageWidth(); $crop_x = $width - 20; $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('new.gif', true); Принцип обрезки gif на imagick точно такой же, как и обычных jpg, png изображений за одним исключением: нужно идти в цикле по каждому кадру и обрезать каждый кадр, чтобы в финальном изображении сохранились все кадры и анимация, а не только один статический кадр.
|
|||
|