美文网首页
Python图像上绘制文本

Python图像上绘制文本

作者: 大龙10 | 来源:发表于2022-02-06 06:42 被阅读0次
参考资料:
1、脚本之家
 https://www.jb51.net/article/204001.htm
2、pillow官方网站 
 https://pillow.readthedocs.io/en/latest/reference/ImageColor.html
 https://pillow.readthedocs.io/en/latest/reference/ImageDraw.html
3、github
https://github.com/pytroll/aggdraw

一、ImageColor模块

  该ImageColor模块包含颜色表和从 CSS3 样式颜色说明符到 RGB 元组的转换器。该模块由 PIL.Image.new()和ImageDraw模块等使用。
  ImageColor 模块支持以下字符串格式:

  • 十六进制颜色说明符
    例如,“#ff0000”指定纯红色
  • RGB函数
    以“rgb(红色,绿色,蓝色)”给出,其中颜色值是0到255范围内的整数,如,“rgb(255,0,0)”和“rgb(100%,0%,0%)
  • 常见的HTML颜色名称
    例如,“red”指定纯红色
  • HSL函数
    Hue-Saturation-Lightness (HSL) 函数,其中色调是颜色,以 0 到 360 度之间的角度给出(红色=0,绿色=120,蓝色=240),饱和度是 0% 到 100% 之间的值(灰色=0%,全色=100%),亮度是介于 0% 和 100% 之间的值(黑色=0%,正常=50%,白色=100%)。
    例如,是纯红色。hsl(hue, saturation%, lightness%)hsl(0,100%,50%)
  • HSV 函数
    Hue-Saturation-Value (HSV) 函数,其中色调和饱和度与 HSL 相同,值介于 0% 和 100% 之间(黑色 = 0%,正常 = 100%)。
    例如,是纯红色。这种格式也称为色相-饱和度-亮度 (HSB),可以给出为,其中每个值都按其在 HSV 中的形式使用。hsv(hue, saturation%, value%)hsv(0,100%,100%)hsb(hue, saturation%, brightness%)

二、ImageFont模块

  字体模块,PIL.ImageDraw.ImageDraw.text() 中使用。

三、ImageDraw 模块

  该模块为对象ImageDraw提供简单的 2D 图形 。可以使用此模块创建新图像、注释或修饰现有图像,以及动态生成图形以供 Web 使用。
  有关 PIL 更高级的绘图库,请参阅aggdraw 模块。

四、图像上绘制文本

from PIL import Image, ImageDraw, ImageFont

# get an image
with Image.open("bgra.png").convert("RGBA") as base:

    # make a blank image for the text, initialized to transparent text color
    txt = Image.new("RGBA", base.size, (255, 255, 255, 0))

    # get a font
    fnt = ImageFont.truetype("simhei.ttf", 40)
    # get a drawing context
    d = ImageDraw.Draw(txt)

    # draw text, 半透明
    d.text((10, 10), "你好", font=fnt, fill=(255, 255, 0, 128))
    # draw text, full opacity
    d.text((10, 60), "World", font=fnt, fill=(0, 0, 255, 255))

    out = Image.alpha_composite(base, txt)

    out.show()

运行结果:


相关文章

网友评论

      本文标题:Python图像上绘制文本

      本文链接:https://www.haomeiwen.com/subject/hphjkrtx.html