Estou explorando como fazer alguma manipulação de imagens com Python Wand.
Gostaria de saber como fazer um "stretch draw": encaixar um texto nos limites de uma determinada caixa. No Delphi, isso seria feito desenhando em uma tela e depois copiando em outra tela.
O processo no Python Wand é provavelmente semelhante, mas ainda não consegui encontrar a solução. Dado que tenho o seguinte script para criar um monte de imagens idênticas com um número:
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()
Recebo o seguinte, desenhado OK no formato de imagem correto:
Meu objetivo é ter algo assim, mantendo o tamanho da imagem. O texto é esticado para caber na imagem.
(Observação: as imagens são dimensionadas para 1/10 para maior clareza aqui, portanto não corresponderão à saída do script)
Acho que isso talvez esteja mais próximo do que você deseja:
Observe que tive que fazer o seguinte no macOS para ajudar a
wand
encontrar minha instalação do ImageMagick no homebrew :