ImageMagick 选取图片的某些帧

2018-07-24 11:58 更新

某些图片格式可以包括有多个图像帧。你可以只获取第一帧, 最后一帧, 或中间的某些帧。为此,你可以在文件名之后,以方括号括起来的形式指定帧。下面的例子中,对于一个有多帧的 GIF 图片,我们只取其第一帧。

$ convert 'images.gif[0]' image.png

在 Unix shell 的环境下,一般中括号是会被转义的,所以,我们需要使用单引号把文件名引起来。Windows 的命令行环境下不用单引号也可以,但多写一对单引号并不会有什么问题。另外,对于单引号和双引号的作用,在 Unix 和 Windows 这两个平台上,常常是相反的,所以,如果你使用 Windows,那么请注意将我们例子中的单引号改为双引号。

你也可以一次获取多帧,在方括号中标出一个范围即可,如下面的例子,我们获取了前四帧的图像:

$ convert 'images.gif[0-3]' images.mng

最后,你可以一次获取非连接的多帧。下面的命令以3,2,4的顺序获取图像:

$ convert 'images.gif[3,2,4]' images.mng

注意上面的最后两个命令,输出被写入了一个类型为 MNG 的文件当中。因为 MNG 支持保存多帧图像,而如 JPG 之类的格式只是保存单帧的图像。在下面“图像输出名”一节我们还会介绍这方面的内容。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号