Add Auto sized text to rectangle area of image
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Add Auto sized text to rectangle area of image
Hi all,
I have been pulling my hair out trying to do this but just could not figure it out.
What I want to do is quite simple and I am sure the answer is simple (if you know!).
I have images which I want to add text to in a box on the right of the images. e.g. the image size is 1000 pixels wide and I want to add a box 200 pixels wide to the right of that, containing some text (of variable length), whereby the text is automatically made as large as possible to fit within that box.
The resulting image would then be 1200 pixels side.
Thats it!
I have been pulling my hair out trying to do this but just could not figure it out.
What I want to do is quite simple and I am sure the answer is simple (if you know!).
I have images which I want to add text to in a box on the right of the images. e.g. the image size is 1000 pixels wide and I want to add a box 200 pixels wide to the right of that, containing some text (of variable length), whereby the text is automatically made as large as possible to fit within that box.
The resulting image would then be 1200 pixels side.
Thats it!
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: Add Auto sized text to rectangle area of image
What version of IM on what platform?
How high would the output be?
How high would the output be?
snibgo's IM pages: im.snibgo.com
- fmw42
- Posts: 25562
- Joined: 2007-07-02T17:14:51-07:00
- Authentication code: 1152
- Location: Sunnyvale, California, USA
Re: Add Auto sized text to rectangle area of image
Please, always provide your IM version and platform when asking questions, since syntax may differ.
Also provide your exact command line and your images, if possible.
See the top-most post in this forum "IMPORTANT: Please Read This FIRST Before Posting" at http://www.imagemagick.org/discourse-se ... f=1&t=9620
If using Imagemagick 7, then see http://imagemagick.org/script/porting.php#cli
For novices, see
http://www.imagemagick.org/discourse-se ... f=1&t=9620
http://www.imagemagick.org/script/comma ... essing.php
http://www.imagemagick.org/Usage/reference.html
http://www.imagemagick.org/Usage/
https://github.com/ImageMagick/usage-markdown
https://imagemagick.org/script/porting.php#cli
Also provide your exact command line and your images, if possible.
See the top-most post in this forum "IMPORTANT: Please Read This FIRST Before Posting" at http://www.imagemagick.org/discourse-se ... f=1&t=9620
If using Imagemagick 7, then see http://imagemagick.org/script/porting.php#cli
For novices, see
http://www.imagemagick.org/discourse-se ... f=1&t=9620
http://www.imagemagick.org/script/comma ... essing.php
http://www.imagemagick.org/Usage/reference.html
http://www.imagemagick.org/Usage/
https://github.com/ImageMagick/usage-markdown
https://imagemagick.org/script/porting.php#cli
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Re: Add Auto sized text to rectangle area of image
Thanks and sorry for not posting version etc.
Version I'm running is 7.0.8-14 Q16 x64 2018-10-24
I have tried following the advice and examples but I am obvisouly doing something wrong. I have got it to draw a rectangle and add some test, but I cant figure out how to make that text resize itsself so it fits the rectangle...
magick convert testing2.png -fill "#285EA6" -draw "rectangle 889,0,1200,627" -fill white -annotate +895+304 "This is some text that could be of any length which should be made as big as possible to fill the box" testing2-out.png
The output is no different to the input.
Version I'm running is 7.0.8-14 Q16 x64 2018-10-24
I have tried following the advice and examples but I am obvisouly doing something wrong. I have got it to draw a rectangle and add some test, but I cant figure out how to make that text resize itsself so it fits the rectangle...
magick convert testing2.png -fill "#285EA6" -draw "rectangle 889,0,1200,627" -fill white -annotate +895+304 "This is some text that could be of any length which should be made as big as possible to fill the box" testing2-out.png
The output is no different to the input.
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: Add Auto sized text to rectangle area of image
You didn't answer my question: How high would the output be?
The obvious method is to make an image of just the text, and append that to the side of the input image.
For v7, I suggest you use "magick", not "convert" or "magick convert".
Suppose the image is 800 pixels high, and you want the text to be that height, and 200 wide:
If that does what you want, then you can use that in a longer command that reads the input image, uses its height for the text, and appends the two images.
The obvious method is to make an image of just the text, and append that to the side of the input image.
For v7, I suggest you use "magick", not "convert" or "magick convert".
Suppose the image is 800 pixels high, and you want the text to be that height, and 200 wide:
Code: Select all
magick -size 200x800 caption:"This is some text that could be of any length which should be made as big as possible to fill the box" out.png
snibgo's IM pages: im.snibgo.com
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Re: Add Auto sized text to rectangle area of image
Ahh sorry - it will be as high as the original image.
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Re: Add Auto sized text to rectangle area of image
OK - so...
magick testing2.png -size 200x800 caption:"This is some text that could be of any length which should be made as
big as possible to fill the box" out.png
the indeed does create a box and fills with text - great - but now the original image is lost.
So if the original image is 800x800 and the text box created is 200x800 i want an output image which is 1000x800. ie.e the original image with the text in a box added to the right.
(Many thanks for helping by the way)
magick testing2.png -size 200x800 caption:"This is some text that could be of any length which should be made as
big as possible to fill the box" out.png
the indeed does create a box and fills with text - great - but now the original image is lost.
So if the original image is 800x800 and the text box created is 200x800 i want an output image which is 1000x800. ie.e the original image with the text in a box added to the right.
(Many thanks for helping by the way)
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: Add Auto sized text to rectangle area of image
And (for the third time) what is your platform? I'll assume Windows BAT.
Code: Select all
magick ^
in.png ^
-size 200x%%[fx:h] ^
caption:"This is some text that could be of any length which should be made as big as possible to fill the box" ^
+append ^
out.png
snibgo's IM pages: im.snibgo.com
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Re: Add Auto sized text to rectangle area of image
yes, windows 10 bat - sorry i missed that question
The last cmd you sent does adds 47 pixels to the righ of my input image, and does not scale the text to fit...
The last cmd you sent does adds 47 pixels to the righ of my input image, and does not scale the text to fit...
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Re: Add Auto sized text to rectangle area of image
I have looked in the docs https://www.imagemagick.org/script/comm ... s.php#size to understand what
-size 200x%%[fx:h
does, but it doesn't explain the %% or the parameters in square brackets...
-size 200x%%[fx:h
does, but it doesn't explain the %% or the parameters in square brackets...
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: Add Auto sized text to rectangle area of image
"200" is the required width in pixels. "%[fx:h]" is the required height in pixels. The expression uses the height from the image that is already in the list. For BAT we need to double the %.
It works fine for me with IM v7.0.7-28. I suggest you post a link to your input image.
It works fine for me with IM v7.0.7-28. I suggest you post a link to your input image.
snibgo's IM pages: im.snibgo.com
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Re: Add Auto sized text to rectangle area of image
Many many thanks for continuing to help me.
Just came back to check - only to find my post with links to the input and output images is not here!
Just one of those days!...
input
http://peaf.com/images/testing2.png
output
http://peaf.com/images/out.png
command executed
magick ^
testing2.png ^
-size 200x627[fx:h] ^
-fill "#285EA6" -draw "rectangle 889,0,1200,627" ^
caption:"This is some text that could be of any length which should be made as big as possible to fill the box" ^
+append ^
out.png
(I wanted to also change the background color to a blue but its been applied to the text.)
As you can see - it hasn't added 200 pixels to the right and the text is not sized to fit.
Just came back to check - only to find my post with links to the input and output images is not here!
Just one of those days!...
input
http://peaf.com/images/testing2.png
output
http://peaf.com/images/out.png
command executed
magick ^
testing2.png ^
-size 200x627[fx:h] ^
-fill "#285EA6" -draw "rectangle 889,0,1200,627" ^
caption:"This is some text that could be of any length which should be made as big as possible to fill the box" ^
+append ^
out.png
(I wanted to also change the background color to a blue but its been applied to the text.)
As you can see - it hasn't added 200 pixels to the right and the text is not sized to fit.
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: Add Auto sized text to rectangle area of image
Your size setting is different to mine. Yours isn't valid syntax.
Your image testing2.png is only 888 pixels wide, so drawing a rectangle starting at 889,0 won't do anything.
If you want a coloured bckgound to the text, I suggest you use "-background", eg:
Your image testing2.png is only 888 pixels wide, so drawing a rectangle starting at 889,0 won't do anything.
If you want a coloured bckgound to the text, I suggest you use "-background", eg:
Code: Select all
%IMG7%magick ^
testing2.png ^
-size 200x%%[fx:h] ^
-background #285EA6 ^
caption:"This is some text that could be of any length which should be made as big as possible to fill the box" ^
+append ^
capt-right.png
snibgo's IM pages: im.snibgo.com
-
- Posts: 20
- Joined: 2014-10-17T03:12:47-07:00
- Authentication code: 6789
Re: Add Auto sized text to rectangle area of image
Hmm thanks for that, I copied and pasted the command and I get
As you say my input image is 888 wide and so i need magick to add 200 pixels to the right as you show in your image.
As you say my input image is 888 wide and so i need magick to add 200 pixels to the right as you show in your image.
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: Add Auto sized text to rectangle area of image
I said I assume you are running this as a BAT script, which is why % needs to be doubled to %%.
I suspect you are not running this as a BAT script, but have still doubled the %%.
I suspect you are not running this as a BAT script, but have still doubled the %%.
snibgo's IM pages: im.snibgo.com