我试图对我用python创建的一些图形进行注释.因此,我正在生成一个包含指定文本的图像(使用PIL ImageDraw),并将其与图像连接起来.现在,我想在课文中加入一个数学符号.在创建文本图像时,有没有办法用latex math编写文本?This answer建议使用unicode文本,但我更喜欢直接用latex编写文本.

MWE:

from PIL import ImageFont, Image, ImageDraw
from matplotlib import pyplot


def get_annotation(image_shape: tuple, title: str, font_size: int = 50):
    frame_height, frame_width = image_shape[:2]
    times_font = ImageFont.truetype('times-new-roman.ttf', font_size)
    text_image = Image.new('RGB', (frame_width, frame_height), (255, 255, 255))
    drawer = ImageDraw.Draw(text_image)
    w, h = drawer.textsize(title, font=times_font)
    drawer.text(((frame_width - w) / 2, (frame_height - h) / 2), text=title, fill=(0, 0, 0), font=times_font,
                align='center')
    annotation = numpy.array(text_image)
    return annotation

if __name__ == '__main__':
    anno = get_annotation((100, 300), 'frame $f_n$')
    pyplot.imshow(anno)
    pyplot.show()

我try 将frame $f_n$传递到title参数,但在文本图像中打印了美元.

附:纽约时报.ttf可在here%以下获得

推荐答案

我找到了sympy here的替代品

import sympy

sympy.preview(r'frame $f_n$', dvioptions=["-T", "tight", "-z", "0", "--truecolor", "-D 600"], viewer='file', filename='test.png', euler=False)

Python相关问答推荐

返回nxon矩阵的diag元素,而不使用for循环

在内部列表上滚动窗口

使用mySQL的SQlalchemy过滤重叠时间段

Django管理面板显示字段最大长度而不是字段名称

Matlab中是否有Python的f-字符串等效物

Python中的嵌套Ruby哈希

_repr_html_实现自定义__getattr_时未显示

如何从.cgi网站刮一张表到rame?

如何将多进程池声明为变量并将其导入到另一个Python文件

Python—从np.array中 Select 复杂的列子集

部分视图的DataFrame

索引到 torch 张量,沿轴具有可变长度索引

如何使用SentenceTransformers创建矢量嵌入?

具有相同图例 colored颜色 和标签的堆叠子图

如何反转一个框架中列的值?

如何用FFT确定频变幅值

BeatuifulSoup从欧洲志愿者服务中获取数据和解析:一个从EU-Site收集机会的小铲子

通过对列的其余部分进行采样,在Polars DataFrame中填充_null`?

使用美汤对维基百科表格进行网络刮擦未返回任何内容

对列中的数字进行迭代,得到n次重复开始的第一个行号