如何通过命令行镜像文件?

如何通过命令行镜像文件?

我想要做的事情很简单。我有一个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 几乎是可以想象到的最简单的位图图形格式。

相关内容