web-dev-qa-db-fra.com

Faites une grille d'images, puis faites-la pivoter et recadrez-la

J'ai donc quelques milliers de vignettes que je veux assembler dans une grille légèrement inclinée. Je pense que ce ne sera pas la chose la plus évidente au monde à comprendre, alors voici une impression d'artiste de la sortie finale, sans images.

enter image description here

J'ai utilisé ImageMagick jusqu'à présent pour créer la grille 17 × 8. C'est assez simple mais voici une version avec l'image factice rose qui s'affichera à l'écran:

montage -mode concatenate $(printf 'rose: %.0s' {1..136}) -resize 100x80 -tile 17x out.jpg

roses

Mais maintenant, je veux faire pivoter et recadrer. Si je jette -rotate 1.5, chaque image pivote séparément. Si je l'enregistre et que je fais pivoter, je compose des artefacts de compression et je perds de la qualité. Comment faire pivoter et rogner cette grille dans la même commande?

Je prendrai avec plaisir une alternative à ImageMagick mais cela doit être en ligne de commande car il va s'exécuter régulièrement sur un serveur.

2
Oli

Eh bien, vous pouvez diriger les choses en tant que BMP. Je pense que c'est aussi proche de la perte que je vais le faire.

montage -mode concatenate $(printf 'rose: %.0s' {1..136}) -resize 100x80 -tile 17x bmp:-\
| convert bmp:- -distort SRT 1.5 -crop 1500x500+100+14 out-rotated.jpg

enter image description here

Bien que je prenne volontiers une version qui peut le faire en une seule commande.

3
Oli