2009-09-29 5 views
5

Mam wiele obrazów wejściowych, które zawierają wiele mniejszych obrazów, wszystkie z nich w jednym wierszu. Wszystkie zawarte obrazy mają ten sam rozmiar. Na przykład obraz input.png może być 480x48 i zawierać 10 48x48 obrazów, wszystko w jednym wierszu.Jak napisać skrypt basha, który tnie obrazy na kawałki za pomocą magii obrazu?

Za pomocą narzędzia imagemagick convert (lub dowolnego innego narzędzia dostarczonego z pakietem defaul imagemagick), chcę napisać skrypt basha, który pobiera obraz wejściowy, liczbę zdjęć do wycięcia, a następnie dzieli je wszystkie na pojedyncze obrazy .

Oddziaływania użytkownika mogę zrobić, ale nie udało mi się uzyskać convert wykonania rzeczywistego cięcia. Czy ktoś może coś zasugerować? Z lektury strony podręcznika, myślę, że to powinno działać:

convert 'input.png[0x0+48+48]' output.png

ale pojawia się błąd:

convert: no pixels defined in cache tb_icons_l.png' @ magick/cache.c/OpenCache/3572. convert: No IDATs written into file 1.png' @ coders/png.c/PNGErrorHandler/1391.

jakieś pomysły?

Odpowiedz

5

Uważam, że zmieniono pozycję i rozmiar. Spróbuj:

convert 'input.png[48x48+0+0]' output.png 

Trzeci obraz byłby:

convert 'input.png[48x48+96+0]' output.png 

Albo

convert 'input.png[48x48+0+96]' output.png 
+0

Dzięki - co za idiota! – Thomi

Powiązane problemy