E:\anaconda\lib\site-packages\PIL\ImageDraw.py in textbbox(self, xy, text, font, anchor, spacing, align, direction, features, language, stroke_width, embedded_color) 649 self, 650 text, --> 651 font=None, 652 spacing=4, 653 direction=None, ValueError: Only supported for TrueType fonts
时间: 2023-12-16 07:04:02 浏览: 212
这个错误通常是由于使用了不支持的字体格式,导致无法渲染文本。在使用 PIL 库中的 ImageDraw 模块时,你需要指定一个 TrueType 字体文件路径,以便 ImageDraw 能够正确地渲染文本。你可以通过以下步骤解决这个问题:
1. 找到一个 TrueType 字体文件,比如 Microsoft Yahei.ttf。
2. 将字体文件放到你的项目目录下。
3. 在绘制文本时,指定字体文件路径,例如:
```
from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (100,100), color=(255,255,255))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('Microsoft Yahei.ttf', size=16)
draw.text((0, 0), "Hello World", font=font, fill=(0,0,0))
```
这里的 `truetype` 方法就是指定字体文件路径。
如果你已经安装了字体文件,也可以使用系统默认字体,不需要指定字体文件路径。你可以这样来指定默认字体:
```
from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (100,100), color=(255,255,255))
draw = ImageDraw.Draw(img)
font = ImageFont.load_default()
draw.text((0, 0), "Hello World", font=font, fill=(0,0,0))
```
这里的 `load_default` 方法就是使用系统默认字体。
阅读全文