作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于 Pillow 类 ImageDraw ( https://pillow.readthedocs.io/en/stable/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.ImageDraw.text ),我找到了参数 features。它可以调整这个字体参数:https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist
如何设置字距调整(kern)参数?我不懂语法。
这是行不通的:
draw.text((61, 386), text, (0, 0, 0), font=font, features={"kern": 1.0})
最佳答案
我最近遇到了同样的问题。我决定最好的方法是单独绘制每个字母并计算使其均匀所需的间距。这是我使用的代码。
text = "Sample Text"
total_text_width, total_text_height = draw.textsize(text, font=font)
width_difference = desired_width_of_text - total_text_width
gap_width = int(width_difference / (len(text) - 1))
xpos = left_side_padding
for letter in text:
draw.text((xpos,0),letter, (0,0,0), font=font)
letter_width, letter_height = draw.textsize(letter, font=font)
xpos += letter_width + gap_width
desired_width_of_text
需要设置,指定想要的文字宽度left_side_padding
应为 0
或从左侧指定任何填充font
需要指定合适大小的字体default spacing vs drawing each letter and calculating spacing
关于python - 如何在 Python Pillow 中设置字体的字距调整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58591305/
我是一名优秀的程序员,十分优秀!