如何使用GraphicsMagick裁剪为多个图像

时间:2014-09-17 06:29:54

标签: graphicsmagick

根据GraphicsMagick man page,我可以使用-crop创建多个图块而不使用偏移量:

  

如果省略x和y偏移,则生成覆盖整个输入图像的指定几何图形的一组图块。如果指定的几何图形超出输入图像的尺寸,则最右边的图块和底部图块会更小。

所以我运行了以下命令(在Linux下):

gm convert -crop 256x256 input.png tile      # => a single file called tile
gm convert -crop 256x256 input.png tile.png  # => a single file called tile.png

如何指定输出以便创建多个图像?

1 个答案:

答案 0 :(得分:5)

gm convert -crop 256x256 input.png +adjoin tile%04d.png

+ adjoin 是关键。

从手册的Files and Formats部分:

  

使用您指定的文件名写入单张图像。然而,   多部分图像(例如,带有的多页PostScript文档)    + adjoin 指定)可以使用包含在文件名中的场景编号来编写。为了包含场景编号   filename,必须包含printf风格的%d格式   文件名中的规范并使用+ adjoin选项。对于   例如,

 image%02d.miff
     

写入文件image00.miffimage01.miff等。只有一个   输出文件名中允许指定。如果不止一个   规范存在,将被忽略。最好嵌入   场景编号位于文件名的基础部分,不在扩展名中,   因为扩展名不是可识别的图像类型。

adjoin部分:

  

使用 + adjoin 强制将多个帧保存为多个编号   文件。如果使用+ adjoin,则输出文件名必须包含a   printf样式格式规范的数字部分   文件名。例如,

image%02d.miff