从下面的命令开始,我想应用-fill red
在图片的上半部分和-fill green
下半部分。
(我知道我可以分解图片,并在两次-fill
操作后重新组装它,但作为该网站的成员,我不应该陷入那么低的水平。)
convert 05.png -fuzz 20% -fill green -opaque white gr.05.png
第二个问题,我可以将两个(或更多)转换链接到一个convert
命令中吗?
答案1
嗯,一种方法是通过-region geometry
选项。您设置一个区域,应用所需的操作,完成后取消设置该区域;然后您设置另一个区域,应用其他操作,完成后您也取消设置该区域等等...例如,800x600
您将运行的图像大小:
convert input.jpg \
-fuzz 20% \
-region '800x300+0+0' -fill green -opaque white +region \
-region '800x300+0+300' -fill red -opaque white +region \
output.jpg
为了避免对图像宽度/高度进行硬编码...在这种情况下,几何图形也可以写为100x50%
(100%
宽度和50%
高度的含义),而不是使用预先添加的偏移量-gravity
以便-region
从顶部或底部开始:
convert input.jpg \
-fuzz 20% \
-gravity North -region '100x50%' -fill green -opaque white \
+region \
-gravity South -region '100x50%' -fill red -opaque white \
+region \
output.jpg
您可以链接多个命令,例如您可以添加到上面的命令-resize
等-crop
...并且您还有所谓的图像堆栈:
它允许您单独处理图像或图像序列,然后将结果引入命令行。图像堆栈用括号描绘。图像运算符仅影响当前堆栈中的图像。