ImageMagick创建多个文件

时间:2013-01-28 06:58:48

标签: php command-line imagemagick imagemagick-convert

我正在运行以下内容:

convert '/var/www/Standard Features.tif' '/var/www/Standard Features.jpg'

由于某种原因,我正在创建2个文件:

-rw-r--r--  1 root   root    31809 Jan 27 23:53 Standard Features-0.jpg
-rw-r--r--  1 root   root    20899 Jan 27 23:53 Standard Features-1.jpg

为什么会发生这种情况,如何让它停止?我似乎无法弄清楚为什么会这样。我尝试过更改选项和所有内容,但似乎没有任何效果。感谢。

3 个答案:

答案 0 :(得分:4)

convert in.tif -delete 0 out.jpg

convert in.tif -delete 1 out.jpg

您将尝试转换多目录TIFF,该目录将转换为convert的图像堆栈。 -delete参数指定要删除的堆栈索引(当堆栈中只剩下一个图像时,将只输出一个图像)。

多目录TIFF确实有多个图片,因此您需要小心实际丢弃的内容。

答案 1 :(得分:0)

我发现这对于处理输出更为有用,因为它不需要知道ImageMagick将生成多少文件。这仅在您只需要第一张图像时有用:

convert in.tif -delete 1--1 out.jpg

1是创建的第二个图像(索引为0)

-1是最后创建的图像

所以1--1是从第二个到最后一个创建的图像的范围。您的输出将是out.jpg而不是out-0.jpg。

答案 2 :(得分:0)

TIFF文件可以具有多个页面。 GIF文件可以具有多个框架,而PDF文件可以具有多个层。转换成这样会产生多个输出,每页/每一帧/每一层一个。

如果在ImageMagick中只需要图像的一页/层/帧,则只需在输入文件名中添加[x]。例如,如果您只想要TIFF的首页,则

convert image.tiff[0] out.jpg


参见Selecting Frames

如果需要一系列页面,请使用[3-27]。

如果使用ImageMagick 7,则将convert替换为magick。