I am exploring how to get some image manipulation done with Python Wand.
I would like to know how to do a "stretch draw": fit a text with the boundaries of a certain box. In Delphi, this would be done drawing on a canvas, then do a copy onto another canvas.
The process in Python Wand is probably similar, but I have not been able to find the solution yet. Given that I have the following script to create a bunch of identical images with a number:
from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color
imagewidth=1800
imageheight=600
def makeImage(mynr):
myimage = Image(
width=imagewidth,
height=imageheight,
background=Color("white")
)
with Drawing() as draw:
draw.font="Arial"
draw.font_size=500
draw.gravity="center"
draw.text(0,0,f"{mynr:04d}")
draw(myimage)
# -- need to have 1 bit BMP images
myimage.depth = 2
myimage.type="bilevel"
myimage.save(filename=f'test{mynr:02d}.bmp', )
myimage = None
print( mynr ) # to see progress
def do_numbers():
for i in range(30):
makeImage(i+1)
# ===============
if __name__ == "__main__":
do_numbers()
I get the following which is drawn OK in the right image format:
My goal is to have something like this, keeping image size. Text is stretched to fit image.
(Note: images are scaled to 1/10 for clarity here, so won't match script output)


I think this maybe closer to what you want:
Note that I had to do the following on macOS to help
wandfind my ImageMagick installation from homebrew: