python PIL相关操作

Posted yuanhuikai

tags:

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

项目中需要用python生成二维码,这里记录一下相关PIL相关操作。

RGBA问题:

  需要将图片A粘贴到图片B上,之前没有注意透明度问题,A的背景是透明的,粘贴到B上后,A的周围是黑的。后来才发现是PIL的Image模块,调用open打开文件以后,需要convert转换为‘RGBA’模式,R:red G:green B:blue A:Alpha 色彩空间 透明度,设置一下图片的透明度即可。

 

图片的粘贴,文字的添加需要调用ImageDraw模块,首先打开背景图

img = Image.open(./test.png).convert(RGBA)
drawImg = ImageDraw.Draw(img) 

图片A粘贴到图片B上

Image.resize()函数来调整图片A的大小,然后用paste将A粘贴到B上,qr_bos为A在B上的坐标,(右上,左上,右下,左下)

drawImg.paste(img.resize((self.qr_box[2] - self.qr_box[0], self.qr_box[3] - self.qr_box[1])), self.qr_box)

在图片B上添加文字

# 获取图片宽度,字体的高度
t_p_w_3, t_p_h_3 = (self.width, 23)
# 加载字体
t_3_font = ImageFont.truetype(msyh.ttf, 23)
# 获取这段文字在图片上的长宽
t_p_w_3_t, t_p_h_3_t = drawBack.textsize(self.content_3, t_3_font)
#居中
drawBack.text(((t_p_w_3 - t_p_w_3_t) / 2, (t_p_h_3 - t_p_h_3_t) / 2), self.content_3,fill=#535256, font=t_3_font)

 

以上是关于python PIL相关操作的主要内容,如果未能解决你的问题,请参考以下文章

PIL库图像处理

有关Python的PIL库的学习体会和实例

python,使用PIL库对图片进行操作

python PIL 操作图片

如何在Python中将图像分割成多个片段

PIL成就你的自信之路