codecamp

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


ImageMagick 内置图像或图案
ImageMagick 选取图片的某些帧
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }