当我尝试使用-mosaic合并两个图像时,我似乎有两个选择:
$ convert logo: rose: -mosaic result.png
$ convert -mosaic logo: rose: result.png两者都会产生相同的图像。如果我使用圆括号,这就不是真的了:
$ convert logo: \( rose: \) -mosaic result.png仍然会产生相同的输出图像,但下一幅
$ convert -mosaic logo: \( rose: \) result.png会有完全不同的结果。
有人能解释一下为什么最后的结果是不同的吗?这是convert中的一个bug,还是ImageMagick中另一个我还没能理解的概念?
我使用的是ImageMagick 6.8.6-2 (由Arch Linux打包)
发布于 2013-07-14 16:12:45
我想我知道为什么它是这样的了。然而,尽管有大量的文档可用,ImageMagick仍然看起来像是一门神秘的科学,因为其中交织着不同的兼容层。
在阅读了http://www.imagemagick.org/Usage/basics/#cmdline之后,我想我可以总结如下:
convert [operator] [input-image] [output-image]这样的简单5.x操作仍然是可能的。”)如果任何阅读这篇文章的人在转换到我的语法上有类似的问题,我建议阅读上面的链接,不要停止学习它,直到你完全理解图像列表,图像操作符和图像序列操作符的概念。这不是太复杂,但如果你只是使用试错,你会像我一样,很难理解语法。
发布于 2013-07-14 00:12:33
圆括号创建一个子进程或image stack,它允许将其他图像处理与父进程隔离开来。
$ convert logo: rose: -mosaic result.png

$ convert logo: \( rose: -negate -resize 200% \) -mosaic result.png

命令的顺序可能很重要,因为马赛克需要连接图层。以下命令是相同的,因为忽略了-mosaic命令&没有在任何子进程上执行任何命令。
$ convert logo: rose: result.png
$ convert logo: \( rose: \) result.png
$ convert -mosaic logo: \( rose: \) result.pnghttps://stackoverflow.com/questions/17621593
复制相似问题