gpt4 book ai didi

python-2.7 - PIL - 如何在文本中插入索引或下标?

转载 作者:行者123 更新时间:2023-12-02 03:30:37 25 4
gpt4 key购买 nike

像这样: enter image description here

计算坐标看起来不太好,也许有更好的方法?

此代码工作正常( enter image description here ),但总是计算每个字母的索引位置很复杂。

image = Image.new('I', (300, 100), "white").convert('RGBA')
font = ImageFont.truetype(font=r"C:\Windows\Fonts\Arial.ttf", size=39)
draw = ImageDraw.Draw(image, 'RGBA')

draw.text((10, 10), "P", fill="black", font=font, align="center")

font = ImageFont.truetype(font=r"C:\Windows\Fonts\Arial.ttf", size=20)
draw.text((25, 35), "2", fill="black", font=font, align="center")

image.save(output_folder + 'test.png')

最佳答案

您可能会使用 ImageMagick,它可以理解 Pango 标记语言 - 看起来有点像 HTML。

因此,您可以在命令行中运行以下命令:

convert -background white pango:'<span size="49152">Formula: <b>2P<sub><small><small>2</small></small></sub>O<sub><small><small>5</small></small></sub></b></span>' formula.png

生成这个 PNG 文件:

enter image description here

如果您想保留原始图像中文本下方的内容,请更改为 -background none 以在一 block 透明 Canvas 上书写。

您还可以将所有标记放在一个单独的文本文件中,称为“pango.txt”,如下所示:

<span size="49152">Formula: <b>2P<sub><small><small>2</small></small></sub>O<sub><small><small>5</small></small></sub></b></span>

并将其传递到 ImageMagick 中,如下所示:

convert pango:@pango.txt result.png 

您可以使用以下方法来完成此操作:

subprocess.call()

然后您可以轻松加载生成的图像并将其合成/粘贴到您想要的位置 - 这将需要大约 3 行 Python 代码,您可以将其放入函数中。


这是 Anthony Thyssen 使用 Pango 生成的图像的进一步示例,以便您可以看到一些可能性:

enter image description here

Anthony here 提供了有关 Pango 的更多信息。 .


请注意,ImageMagick 也有 Python 绑定(bind),但我对它们不是很熟悉,但这可能比 shell 更干净。

关键字:Pango、PIL、Pillow、Python、标记、下标、上标、公式、化学公式、ImageMagick、图像、图像处理、SGML、HTML。

关于python-2.7 - PIL - 如何在文本中插入索引或下标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51960813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com