- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 PIL 的 ImageFont 模块加载字体以生成文本图像。我希望文本紧紧地绑定(bind)到边缘,但是,当使用 ImageFont 获取字体高度时,它似乎包括字符的填充。如红色矩形所示。
c = 'A'
font = ImageFont.truetype(font_path, font_size)
width = font.getsize(c)[0]
height = font.getsize(c)[1]
im = Image.new("RGBA", (width, height), (0, 0, 0))
draw = ImageDraw.Draw(im)
draw.text((0, 0), 'A', (255, 255, 255), font=font)
im.show('charimg')
如果我能得到字符的实际高度,那么我就可以跳过底部矩形中的边界行,这个信息可以从字体中得到吗?谢谢。
最佳答案
确切大小取决于许多因素。我将只向您展示如何计算不同的字体规范。
font = ImageFont.truetype('arial.ttf', font_size)
ascent, descent = font.getmetrics()
(width, baseline), (offset_x, offset_y) = font.font.getsize(text)
offset_y
ascent - offset_y
descent
font.getmask(text).getbbox()
希望对您有所帮助。
关于python - 如何使用 PIL 的 ImageFont 类获取字体像素高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43060479/
ImageFont.truetype 需要一个文件名才能工作,例如: font = ImageFont.truetype("ariblk.ttf") # Arial Black PIL 有没有办法按
我的 python-FotoBox-Script 在我的 Ubuntu labtop 上工作得很好,但是在运行 Raspbian 的 Raspberry-Pi 上脚本有以下问题: pi@raspber
我正在尝试使用 PIL 来预先计算给定文本行在给定字体和大小下的大小。 PIL 似乎或多或少是唯一可行的解决方案。 我不确定font.textsize(..) 返回值的单位是什么。 doc没有具体
我正在尝试计算等宽字体(我希望保持一致)中字形的宽度和高度,但是 ImageFont.getsize()给定不同的单字符串返回不同的值: >>> from PIL import ImageFont >
这个问题在这里已经有了答案: Finding out what characters a given font supports (14 个答案) 关闭 6 年前。 这是一个简短的example .
我创建了一个位图字体,基本上是一个 256x256 png 图像,其中每个字符占据 8x8 block 。我想将它与 Pillow 一起用作 ImageFont,但 Pillow 文档中没有这方面的信
我是第一次使用 chemlab 库。我正在尝试运行一些示例程序,但不断收到以下错误消息: import ImageFont # From PIL ImportError: No module name
我使用以下两种方法为.ttf 字体文件生成文本预览图像 PIL方法: def make_preview(text, fontfile, imagefile, fontsize=30): try
我正在使用 Python 的图像处理库来渲染使用不同字体的字符图像。 这是我用来遍历字体列表和字符列表以输出每种字体的字符图像的代码片段。 from PIL import Image, ImageFo
我正在使用 PIL 的 ImageFont 模块加载字体以生成文本图像。我希望文本紧紧地绑定(bind)到边缘,但是,当使用 ImageFont 获取字体高度时,它似乎包括字符的填充。如红色矩形所示。
我是 Python 新手,尝试运行以下代码。我收到以下错误 “IOError:无法打开资源”。这是因为某些图像特征不再存在(例如 Coval.otf),还是可能是由于写入/读取限制?请让我知道 - 非
当我在 Windows 中编写代码时,这段代码可以很好地加载字体文件: ImageFont.truetype(filename='msyhbd.ttf', size=30); 我猜字体位置是在 Win
我正在尝试使用框绘图字符编写 tiff 图像,但所有有问题的字符都显示为: 方框绘制字符(例如“┌─┐│└┘╞=╡╤╧╘╛”)直接粘贴到源代码中,保存到文本文件时它们正确显示,但我不明白为什么它们'没
我正在使用 python 生成 token 作为安全措施。这是代码: from PIL import Image, ImageDraw, ImageFont image
我已经成功地将一些 Python 代码移植到使用 PIL 的 ImageFont 和 ImageDraw 生成动态图像的 App Engine。唯一剩下的问题是原始代码使用如下调用加载 TrueTyp
背景:我正在编写一个模块来创建带有多个进度条(0-5)的自定义启动屏幕。初始屏幕可以以多种模式显示(全屏无帧、带/不带帧的屏幕百分比或带/不带帧的固定大小),并且可以容纳 0-5 个链接的进度表。进度
我是一名优秀的程序员,十分优秀!