12
votes

ImageMagick - redimensionner l'image sur carré

Je viens de commencer à faire de l'imagemagick. J'essaie actuellement de convertir une image d'une taille de fichier presque carré (1411 x 1486) ou de tailles similaires à une forme carrée, comme 1024x1024 Malheureusement, la fonction de redimensionnement ne semble pas faire un redimensionnement de la toile afin que je continue à obtenir nombre comme 1024x982. Je me demande quand il y a de toute façon convertir une image pas si carrée dans une image carrée à l'aide de leurs bibliothèques C ++.

La raison pour laquelle ils ne sont pas carrés sont parce que je convertissez des positions GPS en UTM et d'obtenir une forme carrée, mais malheureusement, à cause de la courbe de la terre, ils sont généralement à environ 400 m d'être carré ... Incase Vous vous demandiez.


0 commentaires

3 Réponses :


9
votes

Vous pouvez ajouter un! à votre géométrie comme "1024x1024!" sur le redimensionnement ou créer une géométrie explicite pour la méthode de redimensionnement. Vous devrez peut-être aussi définir le drapeau de l'aspect si! est censé faire cela (j'ai lu certaines personnes ont besoin de faire cela, ne vous laissez pas expliquer pour vous à ce sujet, cependant).


0 commentaires

0
votes

J'ai fait comme Joshua dit. Cela a fonctionné pour une image. (Merci Joshua)

Je voulais aussi ajouter une solution pour redimensionner par lots car xxx

n'a pas fonctionné


Voici donc ici une commande d'exemple pour échantillon de travail . xxx


4 commentaires

est %% x Syntaxe Bash valide? Ne devrait-il pas être quelque chose comme $ x? Et utilisez-vous le même fichier de sortie que le fichier d'entrée? Si tel est le cas, vous devez utiliser Mogrify et non convertir, ce qui ne fonctionne pas bien dans cette situation ...


dans Windows en utilisant %% x est OK. ---- Pour la deuxième question, il y a un autre problème. Ce que vous donnez un fichier de sortie devient des fichiers d'entrée dans des étapes ultérieures afin que ce processus prend pour toujours. Au lieu de cela, les mettre dans un dossier est une meilleure idée et je modifierai la réponse maintenant.


@Luca Si vous voulez bash, vous feriez pour x dans * .png; Convertir -Resize '1024x1024!' $ x ./scaled/$x; fait


Essayez de mogrifier pour le traitement par lots au lieu de convertir.



14
votes

Utiliser 1024x1024! ne permettra pas la vignette.

Voici un lien vers ce que vous voulez http://www.imagemagick.org/usage/thumbnails/#pad

la ligne de commande de la liaison (pour empêcher la pourriture de la liaison): xxx


1 commentaires

Merci! Ceci a fait ce dont j'avais besoin: convertir original.png -Thumbnail '64x64>' -Gravity centre-Center -Background transparent -ext -extent 64x64 thumbnail.png