2012-12-26 14 views
46

Istnieje wiele informacji o przycinaniu obrazów, ale próba przycięcia (lub przycięcia) animacji daje dziwne wyniki. Czasami migoczą, albo przychodzą z dodatkowymi ramkami, albo niektóre ramki przycinają się prawidłowo, a inne zostają przesunięte. Jak mogę temu zapobiec?Jak przyciąć animowany gif za pomocą ImageMagick?

Odpowiedz

60
convert input.gif -coalesce -repage 0x0 -crop WxH+X+Y +repage output.gif 
  • Gif często są optymalizowane w celu zaoszczędzenia miejsca, ale ImageMagick nie wydaje się, aby rozważyć to przy stosowaniu polecenia upraw i traktuje każdy klatek indywidualnie. -coalesce odbudowuje pełne klatki.
  • Inne polecenia będą uwzględniać informacje o przesunięciach dostarczone w oryginalnym gifie, więc musisz wymusić resetowanie przy pomocy -repage 0x0.
  • Sama plon jest prosty, odpowiednio z przesunięciem szerokości, wysokości, x przesunięcia i y. Na przykład plon 40 szeroki i 30 wysoki przy x przesunięciu 50 = 40 x 30 + 50 + 0.
  • Crop nie usuwa płótna wyciętego z obrazu. Stosowanie +repage po uprawie zrobi to.
+0

Polecenie wypisuje sekwencję oddzielnych plików z dołączonymi -0, -1, -2 itd., Zamiast pojedynczego pliku, jak w output.gif –

+0

Działa dobrze dla mnie. Bardzo doceniane! – musiKk

+0

'+ repage' jest naprawdę tym, co mi się udało, dzięki! ImageMagick z jakiegoś powodu opuszczał obraz animowanych .gif (nie działo się z .png lub .jpegs). –

29

Nawet z połączeniem i repagą nie mogłem zmusić ImageMagick do przycinania i zmiany rozmiaru animowanych gifów bardzo dobrze.

Znalazłem program o nazwie Gifsicle i działa doskonale do manipulowania animowanymi gifami.

gifsicle --crop 0,0-100,100 --output out.gif in.gif 

Może również wykonywać wiele innych operacji. Sprawdź to!

+0

+1 za nie trzeba instalować ImageMagick – bloudermilk

+0

To było pomocne w utrzymaniu niewielkiego rozmiaru pliku. ImageMagick zwiększył rozmiar o 3,7x dla mojego przypadku użycia. –

+1

Pierwsze 2 cyfry są lewymi górnymi współrzędnymi w pikselach, a pozostałe 2 cyfry to dolne prawe współrzędne obszaru, który chcesz przyciąć. – Mijo

Powiązane problemy