使用 Python 我希望能够使用 PIL 以不同的角度绘制文本。
例如,假设您正在钟面上画数字。数字 3 会按预期显示,而我们绘制的 12 会逆时针旋转 90 度。
因此,我需要能够从许多不同的角度画出许多不同的弦。
原文由 carrier 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 Python 我希望能够使用 PIL 以不同的角度绘制文本。
例如,假设您正在钟面上画数字。数字 3 会按预期显示,而我们绘制的 12 会逆时针旋转 90 度。
因此,我需要能够从许多不同的角度画出许多不同的弦。
原文由 carrier 发布,翻译遵循 CC BY-SA 4.0 许可协议
在创建 Image 对象之前了解文本的像素大小也很有用。我在绘制图形时使用了这样的代码。然后我没有遇到任何问题,例如数据标签的对齐(图像与文本完全一样大)。
(...)
img_main = Image.new("RGB", (200, 200))
font = ImageFont.load_default()
# Text to be rotated...
rotate_text = u'This text should be rotated.'
# Image for text to be rotated
img_txt = Image.new('L', font.getsize(rotate_text))
draw_txt = ImageDraw.Draw(img_txt)
draw_txt.text((0,0), rotate_text, font=font, fill=255)
t = img_value_axis.rotate(90, expand=1)
将两个图像连接在一起的其余部分已在此页面上进行了描述。当你旋转一个“不规则”的角度时,你必须稍微改进一下这段代码。它实际上适用于 90、180、270…
原文由 [](https://stackoverflow.com/questions/245447/how-do-i-draw-text-at-an-angle-using-pythons-pil/741592#741592) 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答892 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
将文本绘制到临时空白图像中,旋转它,然后将其粘贴到原始图像上。您可以将这些步骤封装在一个函数中。祝你好运找出要使用的确切坐标 - 我的冷雾大脑现在不适合它。
这个演示在图像上倾斜写黄色文本: