我想要做的事情很简单。我有一个file.png
,我想镜像它,也就是说结果应该是原始图像的“反射”。
我知道像 GIMP 和 InkScape 这样的大型工具可以做到这一点,但我希望有一个命令行实用程序,类似于convert
(遗憾的是似乎没有这样的选项,或者至少在页面中没有提到man
)。
答案1
通过快速阅读这,显然convert
将此选项-flop
称为水平镜像,也-flip
用于垂直镜像。我所需要做的就是
convert -flop input.png output.png
答案2
如果您想要就地覆盖,并且您在同一个文件夹中拥有大量图像文件,mogrify
那么使用 ImageMagick 套件似乎是实现此目的的最简单方法:
# mirror in the vertical axis:
mogrify -flip *.jpg
# mirror in the horizontal axis:
mogrify -flop *.jpg
答案3
对于这个特定的任务来说,convert
这可能是最好的方法,但对于这种事情,我经常使用netpbm
可以安装的库(正如您所期望的那样)apt install netpbm
。然后
pngtopnm input.png | pnmflip -lr \
| (other transformations if desired) \
| pnmtopng > output.png
对于这项任务来说,这有点过度了,但我经常发现自己在编写一次性脚本,以 中无法使用的特殊方式转换或分析 PNM 文件convert
。这相对容易,因为 PNM 几乎是可以想象到的最简单的位图图形格式。