PIL 图片处理 文字添加

Posted cityking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PIL 图片处理 文字添加相关的知识,希望对你有一定的参考价值。

PIL简介:

  python平台事实上的图片处理标准库,功能强大,API简单易用

PIL安装:

pip install PIL

直接绘图插入文字

#!/usr/bin/env python
from PIL import Image, ImageDraw, ImageFont, ImageFilter
# 240 x 60:
width = 60 * 4
height = 60
image = Image.new(RGB, (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype(Arial.ttf, 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
text = ‘你要插入的文字‘
# 输出文字: for t in range(4):
  position =
(60 * t + 10, 10)
  draw.text(position, text, font=font, fill="#000000", spacing=0, align=‘left‘)
image.save(
code.jpg, jpeg);

打开已有的图片插入文字

#!/usr/bin/env python
from PIL import Image, ImageDraw, ImageFont, ImageFilter

image = Image.open(cat.jpg)
# 创建Font对象:
font = ImageFont.truetype(Arial.ttf, 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
text = 你要插入的文字
# 输出文字:
for t in range(4):
  position =(60 * t + 10, 10)
  draw.text(position, text, font=font, fill="#000000", spacing=0, align=left) 
image.save(code.jpg, jpeg);

封装成方法

def insert_text(text, fone_type_file, font_size, im, position):
    ‘‘‘
    ** text 要插入的文字
    ** fone_type_file 文字类型文件名称
    ** font_size 文字大小
    ** im 背景图片
    ** position 要插入的位置
    ‘‘‘

    datas = text.split(
)
    data = ‘‘
    if not datas:
        datas = [text]
    for d in datas:
        if not d:
            d =  
        elif len(d) > 31:
            d1 = d[:30] + 

            d2 = d[30:]
            d = d1 +  
+ d2
        data += (d +
)
        data +=  


    data = data[:-1]
    dr = ImageDraw.Draw(im)
    font = ImageFont.truetype(fone_type_file, font_size)

    dr.text(position, data, font=font, fill="#000000", spacing=0, align=left)
    im.save("t.png")
    return im, len(datas)

图片转pdf

from PIL import Image

im = Image.open(cat.jpg)
im2.save(cat2.pdf, pdf)

直接把图片保存为pdf是图片的模式一定要为RGB模式,否则就要转换为RGB模式,转换方法为im.convert(mode) 






以上是关于PIL 图片处理 文字添加的主要内容,如果未能解决你的问题,请参考以下文章

python PIL(pillow)图像处理-图片上添加文字

python PIL Image基本的图片拼接圆形裁减添加文字

PIL库图像处理

PIL库将图片转成字符

python----图像简单处理(PIL or Pillow)

美白,磨皮,搞笑图片处理