web-dev-qa-db-fra.com

Ajouter du texte sur l'image à un point spécifique en utilisant imagemagick

Je veux ajouter du texte sur une image à un point spécifique et je veux qu'elle soit alignée au centre. Comment puis-je spécifier la marge du haut? Je veux spécifier la marge en pixels/pouces à partir du haut.

Actuellement j'utilise cette commande:

 convert temp.jpg -gravity Center  -pointsize 30 -annotate 0 'Love you mom' temp1.jpg 

c'est écrire du texte au centre de l'image. Je veux que le texte se déplace vers le haut.

Voici ce que je reçois: enter image description here

C'est ce que je veux: enter image description here

25
waqas

Essayez d'utiliser -gravity North (cela déplacera votre texte en haut de l'image), puis en ajoutant un décalage (-annotate +0+100) pour déplacer votre texte vers le bas:

convert temp.jpg -gravity North -pointsize 30 -annotate +0+100 'Love you mom' temp1.jpg 
34
Andrea

Au lieu de cela, vous pouvez utiliser - draw pour spécifier l'emplacement où vous souhaitez que votre texte.

Par exemple:

convert -font helvetica -fill white -pointsize 60 -gravity center -draw "text 0,300 'TEXT TO BE DISPLAYED'" /image_address/Image_input.png /image_address/Image_output.png 

Dans ce cas, 0 est la coordonnée de x et 300 est la coordonnée y, mais la coordonnée x n'est pas vraiment importante puisque le - centre de gravité est déjà là.

N'oubliez pas que la coordonnée 0,0 est le coin supérieur gauche.

7
Matheus Torquato