ImageMagick创建多个文件

7

我正在运行以下内容:

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

出现某些原因,我得到了两个文件:

-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个回答

6
convert in.tif -delete 0 out.jpg

或者

convert in.tif -delete 1 out.jpg

您将尝试将多目录TIFF转换为“convert”的图像堆栈。参数“-delete”指定要删除的堆栈索引(当堆栈中只剩下一个图像时,仅输出一个图像)。多目录TIFF确实具有多个图像,因此您需要小心实际丢弃的内容。

有没有办法将tiff文件合并/压缩或去除图层等,使得多图像的tiff在运行转换之前变成一个图像?(问题是我有400个文件,而且还会不定期地从客户那里收到更多文件,所以我无法清楚地知道哪些文件可以丢弃) - Aram Papazian
2
如果你愿意假设它们是可以被压平的对齐图层,那么你可能能够使用“-flatten”命令。查看原始命令生成的图像可能有助于找出为什么它们是多目录TIFF文件。 - sigynsurfeit

4

TIFF文件可以有多个页面。GIF文件可以有多个帧,PDF文件可以有多个层。对此进行转换会产生多个输出,每个输出都对应一个页面/帧/层。

如果你只想在ImageMagick中处理图像的一个页面/层/帧,只需在输入文件名后添加[x]即可。例如,如果您只想要TIFF的第一页,则输入:

convert image.tiff[0] out.jpg


请查看选择帧

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

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


3

我发现这种方法在处理输出时更有帮助,因为它不需要知道ImageMagick将生成多少个文件。如果你只想要第一张图片,那么这个方法非常有用:

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

1 表示第二张图片(索引从0开始)。

-1 表示最后一张图片。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接