Pour commencer avec ImageMagic et essayer de trouver un moyen de le faire ... Si une image mesure moins de 50 pixels de haut ou 50 pixels de large, je voudrais la placer (sans échelle) au centre horizontal/vertical d'un nouveau canevas de 50 x 50 pixels sur un fond blanc - et enregistrez-le en tant que nouvelle image. Quelqu'un sait si c'est possible avec ImageMagick? Merci!
J'ai utilisé -extent pour ce faire:
convert input.jpg -gravity center -background white -extent 50x50 output.jpg
Je voulais faire de même, sauf réduire l'image à 70% à l'intérieur. J'ai utilisé ceci:
convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png
Pas exactement ce qui a été demandé mais j'espère que cela aidera quelqu'un;).
Voir coupe et bordure pour un grand nombre d'exemples. Voici une façon simple de procéder:
convert input.png -bordercolor Black -border 5x5 output.png
Bien sûr, vous devrez calculer la taille de la bordure à ajouter (le cas échéant) en fonction des dimensions de l'image d'entrée. Utilisez-vous une API ImageMagick ou simplement les outils de ligne de commande?
J'ai déjà utilisé ce code pour placer une image au centre d'une nouvelle toile avec un fond blanc. J'espère que cela vous aidera
convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg
J'ai essayé ceci:
convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png
Vous pouvez utiliser composition unique pour ce faire. Cela ressemblerait donc à ceci:
convert -size 50x50 xc:white null: ( my_image.png -coalesce ) -gravity Center -layers Composite -layers Optimize output.png
Pour modifier l'image source, vous devez utiliser mogrify:
mogrify -gravity center -background white -extent 50x50 source.jpg