codecamp

ImageMagick 图像组(Image Stack)

在学校时,老师肯定有教过你,在把结果直接写在答题卷上前,或许你应该先在草稿上演算一番。这里我们谈的“图像组”大概就是这个草稿纸的意思。它让你在一个隔离的组中处理一张图像或一个图像序列,处理完后,把结果返回到正常流程中。图像组用一对括号标示,里面的所有操作只对当前组有效。如下例,我们限制 ‑rotate 操作只对 wizard.gif 有效:

$ convert wand.gif \( wizard.gif -rotate 30 \) +append images.gif

特别注意,在 Unix 平台下,用于图像组的括号是需要使用 \ 转义的,因为小括号在 shell 中有其它的特殊作用。但是,Windows 平台下的小括号不需要转义。另外,在小括号内的两侧,都有一个空格, 请留意。

前面我们已经谈到了一些命令行中的操作项,不过,下面这几个操作项对于处理一个图像组是比较常用的:

-clone -delete -insert -swap

上面几个操作项的参数,都是一个索引值,用以表示在图像组中的某个图像。图像组中的第一个图像的索引值是 0。同时,这个索引值你也可以使用负数,-1 就是图像组中的最后一个图像。


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; }