我正在探索如何使用 Python Wand 完成一些图像处理。
我想知道如何进行“拉伸绘制”:将文本与某个框的边界相匹配。在 Delphi 中,这将在画布上绘制,然后复制到另一个画布上。
Python Wand 中的过程可能类似,但我还没有找到解决方案。鉴于我有以下脚本来创建一堆带有数字的相同图像:
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()
我得到以下内容,以正确的图像格式绘制正常:
我的目标是拥有这样的东西,保持图像大小。文本被拉伸以适合图像。
(注意:为了清晰起见,此处图像缩放为 1/10,因此与脚本输出不匹配)
我认为这可能更接近你想要的:
请注意,我必须在 macOS 上执行以下操作才能帮助从homebrew
wand
找到我的ImageMagick安装: