ImageMagick 标准的输入输出,文件描述符
Unix 和 Windows 都支持通过管道来重定向输入输出。ImageMagick 支持从标准的输入输出流中读写图像数据,由依次使用一个虚文件名 ‑ 来实现。下面的例子把 convert 的输出通过管道重定向到了 display。
$ convert logo: gif:- | display gif:-
(logo:理解成是一个内置的图像,logo 这种特殊类型。)
第二个用于确定图像格式的 gif:是可选的,因为 GIF 这种格式有自己的标识,ImageMagick 认识它。convert 同样能以这种方式接受标准输入:
$ convert rose: gif:- | convert - -resize "200%" bigrose.jpg
其它的一些管道,你可以通过它们的文件描述符来访问。文件描述符0,1。2已经被预定义为标准输入,标准输出,错误输出。如果一个管道被指定为文件描述符 N,那么你可以通过 fd:N 来使用它。下一个例子展示了如何通过管道重定向,把文件描述符3,4的数据添加到文件描述符5中。
$ convert fd:3 fd:4 -append fd:5
ImageMagick 6.4.9-3 中才添加了对文件描述符的支持。
对于 Python,你可以通过调用 File 对象的 fileno() 方法来获取文件描述符。
在需要的时候,你也可以为文件描述符指定具体的图像格式:
$ convert gif:fd:3 jpg:fd:4 -append tif:fd:5