web-dev-qa-db-fra.com

Comment mettre en miroir des fichiers image via une ligne de commande?

Ce que je veux faire est très simple. J'ai un file.png, que je veux reproduire, c'est-à-dire que le résultat devrait être un "reflet" de l'image d'origine.

Je sais que de grands outils comme GIMP et InkScape peuvent le faire, mais j'espère un utilitaire de ligne de commande, quelque chose comme convert(qui, malheureusement, ne semble pas avoir une telle option, ou du moins, ce n'est pas mentionné dans la page man).

6

Après une lecture rapide de this , apparemment convert appelle cette option -flop pour la mise en miroir horizontale et -flip pour la verticale. Tout ce que j'avais à faire était

convert -flop input.png output.png
12

Pour cette tâche particulière, convert est probablement la meilleure solution, mais pour ce genre de choses, j’utilise souvent la bibliothèque netpbm, qui est installable (comme on peut s’y attendre) avec apt install netpbm. ensuite

  pngtopnm input.png | pnmflip -lr \
    | (other transformations if desired) \  
    | pnmtopng > output.png

Pour cette tâche, c'est exagéré, mais je me trouve souvent en train d'écrire des scripts uniques pour transformer ou analyser des fichiers PNM d'une manière particulière qui ne serait pas disponible dans convert. Ceci est relativement facile, car PNM est à peu près le format graphique bitmap imaginable le plus simple.

2
MJD