Add text on image at specific point using imagemagick
I want to add text on an image at specific point and want it be centre aligned. How can I specify to margin from top? I want to specify margin in pixels/inches from top.
Currently I am using this command:
convert temp.jpg -gravity Center -pointsize 30 -annotate 0 'Love you mom' temp1.jpg
it is writing text in centre of image. I want text to move to top.
This is what I am getting:
This is what i want:
Solution 1:
Try using -gravity North
(this will move your text to the top of the image) and then adding an offset (-annotate +0+100
) to move down your text:
convert temp.jpg -gravity North -pointsize 30 -annotate +0+100 'Love you mom' temp1.jpg
Solution 2:
Instead, you can use -draw to specify the location you want your text.
For example:
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
In this case, 0 is de x coordinate and 300 is the y coordinate, however the x coordinate is not really important since the -gravity center is already there.
Remember that the coordinate 0,0 is the top left corner.
Solution 3:
convert -pointsize 40 -fill blue -draw 'text 600,600 "Love You Mom"' temp1.jpg temp2.jpg
^ ^
| |
From Left |
From Top