首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将样式化的文本放在python的图像上?

如何将样式化的文本放在python的图像上?
EN

Stack Overflow用户
提问于 2022-10-08 09:03:58
回答 1查看 45关注 0票数 0

我知道用cv2或枕头在python中将文本放到图像上是可能的。但是,如何将样式化的文本?像挥手还是彩色?

EN

回答 1

Stack Overflow用户

发布于 2022-10-09 22:07:42

一种方法是使用任何绘图库的其他功能来绘制文本以使其风格化。方法是创造性地使用简单的变体,然后分解函数,这些函数可以对给定效果所需的所有步骤进行分组。

我不确定是否有现成的头等舱套餐。

例如,下面的代码将简单地粘贴不同颜色的文本,稍微抵消一下,使用枕头:

代码语言:javascript
复制
from PIL import Image, ImageFont, ImageDraw

img = Image.new("RGB", (530,140))
draw = ImageDraw.Draw(img)
fontpath = "/usr/share/calibre/fonts/liberation/LiberationSans-Bold.ttf"
font = ImageFont.truetype(fontpath, 60)
draw.text((42,42), "stack overflow!", fill=(0, 255, 255), font=font)
draw.text((40,40), "stack overflow!", fill=(255,0 , 0), font=font)
img.save("scratch/text01.png")

或者编写一些代码来输出每种颜色中的一个字母,其中一个函数将按颜色显示颜色(您将了解渲染前的文本大小在处理这些效果时非常有用)。

代码语言:javascript
复制
...
from random import choice
colors = [(255, 128, 0), (0, 255, 128), (0, 255, 255), (255, 255, 0), (255, 255, 255), (255,0, 255)]

def colortext(pos, text, font, draw, colors):
    x, y = pos
    for letter in text:
        width = draw.textlength(letter, font)
        draw.text((x, y), letter, fill=choice(colors), font=font)
        x += width

colortext((40,40), text, font, draw, colors)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73995697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档