如图,请问在运行ImageDraw.ImageDraw().text()脚本的时候,为什么fonts部分必须用font=fnt去表达,而不能直接写fnt?
text函数的定义如下。如果不指定key,直接传入font的话,值是默认按顺序传给fill的。
如果实在不想使用font=fnt
,可以d.text((0,0), txt_log, None, fnt)
这样调用
def text(
self,
xy,
text,
fill=None,
font=None,
anchor=None,
spacing=4,
align="left",
direction=None,
features=None,
language=None,
stroke_width=0,
stroke_fill=None,
embedded_color=False,
*args,
**kwargs,
):
ImageDraw.ImageDraw().text()函数的前两个参数xy和text是位置参数,所以你可以直接写xy和text的值。但是font参数是一个关键字参数,所以你需要写font=fnt来指定它的值。如果你只写fnt,会认为你是在传递第三个位置参数fill的值,而不是font参数的值