使用Python的PIL库进行图片合成和在图片上写字 发表于 2019-08-21 | 分类于 Python | | 阅读次数: | 字数统计: 361 字 | 阅读时长 ≈ 2 分钟 最近需要写一个需求 根据UI设计的海报模板进行批量合成海报,经过一番谷歌大法好,查找到了几个比较好的参考文章,将使用总结一下。 首先就是安装库 1pip install Pillow 具体使用和代码解释 12345678910111213141516171819202122232425262728293031323334from PIL import Image, ImageFont, ImageDrawregular_font = ImageFont.truetype("PingFang-SC-Regular.ttf", size=28, encoding="utf-8") # 指定字体 如果有多个需要创建多个im = Image.open("poster.png") # 打开文件draw = ImageDraw.Draw(im) # 获得绘画对象 用于添加文字teacher_title = "人生苦短我用Python"# 在指定位置开始绘画文字 draw.text((154, 76), teacher_title, fill="#222222", font=regular_font) # 利用ImageDraw的内置函数,在图片上写入文字# 指定覆盖照片的区域box = (65, 194, 87, 214)tmp_img = Image.open('star.png')region = tmp_img# 将覆盖的照片压缩或者放大成和上面 box指定相同大小的区域region = region.resize((box[2] - box[0], box[3] - box[1]))# 可以将一个包含透明的图片当做遮罩层实现 图片变圆 等操作im.paste(region, box, region)box = (269, 944, 481, 1158)tmp_img = Image.open('code.jpg')region = tmp_imgregion = region.resize((box[2] - box[0], box[3] - box[1]))im.paste(region, box)# 显示生成的图片im.show()# 保存图片im.save('new_poster.png') 参考文章: 官网Pillow python PIL实现图片合成 知识就是财富 如果您觉得文章对您有帮助, 欢迎请我喝杯水! 打赏 微信支付