• 大小: 5KB
    文件类型: .py
    金币: 2
    下载: 0 次
    发布日期: 2024-02-03
  • 语言: Python
  • 标签: python3  多人名片  

资源简介

python3根据模板图片批量自动制作个性化请柬或名片 需求:按照模板图片,在指定位置写入人员名字,形成个性化请柬或个性化名片,批量自动写入 横排文字与竖排文字,在程序中配置 文字位置由程序配置指定 可以设置字体大小及颜色 保存路径可以指定

资源截图

代码片段和文件信息

#需求:按照模板图片,在指定位置写入人员名字,形成个性化请柬或个性化名片
#功能:通过模板图片 写入文字到指定位置,并分别保存成新的图片
#功能说明:根据“;“间隔单个人员根据““换行(也可以根据“\n“换行
#环境:PyDev 6.5.0   Python3.5.2
#说明:PIL仅支持到python2.7,python3要使用PIL需安装pip3 install Pillow
#python2与python3共存配置方法https://www.cnblogs.com/thunderLL/p/6643022.html

import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw

#初始化字符串
strs = “往后余生风雪是你平淡是你清贫也是你荣华是你心底温柔是你目光所致也是你“ #““
strs = “张三 邀请您参加宴会    地点:长安路;李四 邀请您参加宴会    地点:长安路;王五 邀请您参加宴会    地点:长安路“
#strs = “张三\n    诚邀您参加诚邀您参加XXX婚礼    地址:长安路地球村520号    联系电话:13111111111;李四\n    诚邀您参加XXX婚礼    地址:长安路地球村520号    联系电话:13111111111“
#打开模板图片
imageFile = “F:\\family\\模板图片.jpg“#“F:\\family\\请柬模板.JPG“
#新文件保存路径
file_save_dir = “F:\\family\\qingjian\\“

#初始化参数
x = 300   #横坐标(左右)
y = 20   #纵坐标(上下)
word_size = 50 #文字大小
word_css  = “C:\\Windows\\Fonts\\STXINGKA.TTF“ #字体文件   行楷
#STXINGKA.TTF华文行楷   simkai.ttf 楷体  SIMLI.TTF隶书  minijianhuangcao.ttf  迷你狂草    kongxincaoti.ttf空心草
r = 255  #画笔字体颜色
g = 255  #画笔字体颜色字体颜色
b = 0    #画笔字体颜色字体颜色  (2552550) 黄色
direction = 1  #文字方向  0横向(默认)  1竖向
row_hight = 0 #行高设置(文字行距可以小于0) 竖向时设置
word_dir  = 0   #文字间距    竖向时设置



#设置字体,如果没有,也可以不设置
font = ImageFont.truetype(word_cssword_size)

# 在图片上添加文字 1
#draw = ImageDraw.Draw(im1)
# 0 + 0 * 256 + 0 * 256 * 256 #黑色   255 + 0 * 256 + 0 * 256 * 256 #红色    0 + 0 * 256 + 255 * 256 * 256 #蓝色
#draw.ink = 255 + 0 * 256 + 0 * 256 * 256       #红色
#画笔的颜色可以通过draw的ink属性来改变:
#draw.ink = 0(R) + 0(G) * 256 + 0(B) * 256 * 256
#返回一个二元素元组,为指定text在指定字体大小之后的size
#Font.getsize(text)

#功能:竖向画笔写入文字
#参数:xy 坐标   is编号及文字,im1图片  font字体  im1模板图片   row_hight行高(行距)  word_dir文字间距

    
#功能:竖向画笔写入文字
#参数:xy 坐标   is编号及文字,im1图片  font字体  im1模板图片   row_hight行高(行距)  word_dir文字间距
def draw_2(xyisfontim1row_hightword_dir):
    draw = ImageDraw.Draw(im1)
    #draw.text((x y)s.replace(“““\n“)(rgb)font=font) #设置位置坐标 文字 颜

评论

共有 条评论