我想将像“3/4”这样的字符串渲染成数学分数。
我可以通过渲染 HTML 页面并使用 Mathjax 来做到这一点,但这似乎有点过度。任何想法都非常感激。
最佳答案
#!/usr/bin/env python3
from PIL import Image, ImageDraw, ImageFont
text1 = u"Unicode maybe? \u00be \u2153 \u2157"
text2 = u"Maths? \u222c \u221e \u220f \u221a"
im = Image.new ( "RGB", (400,100), 0 )
draw = ImageDraw.Draw ( im )
unifont = ImageFont.truetype("/System/Library/Fonts//Menlo.ttc", 32)
draw.text((10,10), text1, font=unifont, fill=(255,255,255))
draw.text((10,55), text2, font=unifont, fill=(255,255,255))
# Save result
im.save("text.png")
请务必使用 Unicode 字体 - 例如 DejaVu.ttf
我使用 /System/Library/Fonts//Menlo.ttc
因为我使用的是 Mac .
我查了一下代码here .
关于python - 使用 PIL/python 渲染数学文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58678022/