Python PIL库

利用PIL.ImageDrw在图片上绘制文本

导入依赖库

from PIL import Image, ImageDraw, ImageFont
import cv2 as cv
import numpy as np

创建一张图片并在图片上绘制文本

# 采用Image函数创建一张大小为200×200,颜色为绿色的RGB图像
image = Image.new("RGB", (200, 200), (0, 255, 0))
# 在原始图像的基础上创建一个ImageDraw.Draw()实例
draw = ImageDraw.Draw(image)
# 创建需要绘制的文本
text = 'Hello World'
# 设置绘图参数
# 文本左上角坐标:(10, 10);text: 创建的文本内容;fill:文本的颜色
draw.text((10, 10), text, fill=(255, 255, 255))
# 显示绘制好的图片
image.show()
# 保存绘制好的图片
image.save('Hello-World.png')

在图片上绘制文本并设置字体
设置字体大小必须采用自定义字体,默认字体无法改变字体大小,Pillow 支持加载 TrueType 和 OpenType 字体,下载TrueType字体地址:

# 选择图片
img = './dog_cat.jpg'
# 读取图片
image = Image.open(img)
# 创建ImageDraw.Draw()实例
draw = ImageDraw.Draw(image)
# 开始在同一张图片上绘制不同字体大小的文本
y = 10  # 设置文本初始纵坐标
text = 'dog ang cat'
for font_size in range(10, 40, 10):  # 设置不同的字体大小
    # ImageFont.truetype()通过size关键字参数设置字体大小
    font = ImageFont.truetype("./Gidole-Regular.ttf", size=font_size)
    draw.text((10, y), '{}: font_size={}'.format(text, font_size), font=font) 
    y += 30
image.save('./set_fontsize.png')

在图片上绘制文本并设置颜色

image = Image.open(img)
draw = ImageDraw.Draw(image)
# 创建颜色列表
colors = ["green", "blue", "red", "yellow", "purple"]
font = ImageFont.truetype("./Gidole-Regular.ttf", size=20)
text = 'dog and cat'
y = 10
for color in colors:
    # 通过关键字参数fill设置字体颜色
    draw.text((10, y), text , font=font, fill=color)
    y += 35
image.save('set_color.png')

在图片上绘制多行文本

image = Image.open(img)
draw = ImageDraw.Draw(image)  # 创建ImageDraw.Draw()对象
texts = ['Dog', 'Cat', 'Dog and Cat']  # 创建需要绘制的文本
font = ImageFont.truetype('./Gidole-Regular.ttf', size=20)
coord = 10
for text in texts:  # 多行绘制文本
    draw.text((10, coord), text, fill=(255, 0, 0), font=font)  # 绘制第一个文本,文本左上角坐标为(10, 10)
    coord += 20  # 进行多行绘制,y方向间隔20个像素
image.save('self_mutilline1.png')

 

文章链接: https://www.mfisp.com/22308.html

文章标题:Python PIL库

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    建站教程

    Netbox安装

    2023-7-21 13:45:33

    建站教程

    换位c++数组

    2023-7-25 13:10:13

    0 条回复 A文章作者 M管理员
    如果喜欢,请评论一下~
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索

    梦飞科技 - 最新云主机促销服务器租用优惠

    可以介绍下你们的服务器产品么

    云服务器你们是怎么收费的呢

    租用vps现在有优惠活动吗