Обрезание и уменьшение gif без потери анимации

Юрий17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.05.2009

Существует функция обрезания гиф анимации, с использованием ImageMagic, но в данном исполнении, в некоторых случаях, происходит искажение анимации. Необходимо переделать либо всю функцию, либо процедуру convert таким образом, чтобы полностью сохранить гиф анимацию, чтобы скрипт резал и уменьшал по заданным параметрам. Необходимо сохранить, используемые в данной функции переменные:

private function _crop_gif($imgDest)

{

$imgSrc = $this->src_path;

$imgWidth = $this->dest_image_w;

$imgHeight = $this->dest_image_h;

$imgSize = getimagesize($this->src_path);

$imgMaxWidth = $imgWidth;

$imgMaxHeight = $imgHeight;

if ($imgSize[0] > $imgSize[1])

{

$thisRatio = $imgSize[0] / $imgSize[1];

$imgMaxWidth = round($imgMaxHeight * $thisRatio);

}

else

{

$thisRatio = $imgSize[1] / $imgSize[0];

$imgMaxHeight = round($imgMaxWidth * $thisRatio);

}

$cmdCommand = "convert -size {$imgMaxWidth}x{$imgMaxHeight} {$imgSrc} -thumbnail {$imgMaxWidth}x{$imgMaxHeight} -gravity center -crop {$imgWidth}x{$imgHeight}+0+0 -repage {$imgWidth}x{$imgHeight} {$imgDest}";

@exec($cmdCommand);

return file_exists($imgDest);

}

Стоимость работы и время исполнения, указывайте в комментариях. Естественно, выполнить работу нужно как можно быстрее.

Заявки фрилансеров