5

複数の小さい画像を含む入力画像がいくつかあり、それらはすべて1行になっています。含まれているすべての画像は同じサイズです。したがって、たとえば、画像は10枚の画像であり、すべて1行に含まれているinput.png場合があります。480x4848x48

imagemagickconvertツール(またはdefaul imagemagickスイートに付属している他のツール)を使用して、入力画像とカットする画像の数を取得し、それらをすべて個別の画像にカットするbashスクリプトを作成したいと思います。

ユーザーインタラクションはできますがconvert、実際のカットを行うことができませんでした。誰かが何かを提案できますか?マニュアルページを読むことから、私はこれがうまくいくはずだと思います:

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

しかし、エラーが発生します:

変換:キャッシュにピクセルが定義されていません tb_icons_l.png' @ magick/cache.c/OpenCache/3572. convert: No IDATs written into file 1.png'@ coders / png.c / PNGErrorHandler/1391。

何か案は?

4

2 に答える 2

9

私はそのようにします:

convert input.png -crop 48x48  +repage  +adjoin  output_%02d.gif

詳細については、ImageMagickのドキュメントのタイルトリミングをご覧ください。

于 2009-09-29T10:01:05.913 に答える
5

位置とサイズが入れ替わったと思います。試す:

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

3番目の画像は次のようになります。

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

または

convert 'input.png[48x48+0+96]' output.png
于 2009-09-29T10:10:31.920 に答える