【办公类-49-01】20240421通讯照片右下角批量添加校名

背景需求:

作为学校信息员,我每周都要上报一周的“课程教学”相关的通讯

e7988346402a4070b175b0ea45a8c36a.png我会将周计划里面的文字稿,用AI对话大师浓缩成600字(专讯)或200字(简讯)

a33d73d7f05a498db57ecdc109778129.png

e6e60458c53443e480c1e514b432aa24.png

最后需要传照片(在图片右下角添加学校名称)

4dcbf791751143faaf1dbcb914e92894.png

一、简讯(200字)——学校内部活动(校级)

配图照片一般选1张照片,用微信的CTRL+A,截屏,添加大号字体的文字(学校名),另存为图片。

dca9248d8ce344dea671f37a8d7911d7.png

上传一张照片

05946c0e48f84f4ba687393019ecbd28.png

二、专讯(600字)——区级以上活动(区级)

专讯都是“大活动”,录用率高,所以会拍摄很多精彩照片,打包上传供上级做选择。而每张图片都添加学校名字,需要多次用“CTRL+A,截屏,添加大号字体的文字(学校名)另存”进行处理,非常繁琐。

800b78021b6146309c19cf3a75d1c7e3.png我想用Python批量给照片添加右下角的学校名称!

素材准备:

5731aca24b9b4791840b9ffa3bd8f20a.png

照片长宽尺寸

6547d0c56e9047e3a14e984a9a48c57c.png

用AI写需求

一、读取图片,判断长宽大小,并在图片某个坐标位置上写上文字

0d92a9a4bf4d4b8492899d1aa46c33aa.png

结果:不是每张照片都是853*640,写入文字位置不统一

83eac55d685a4b27a3aae05f2026d60e.png

二、需要先把所有照片都改成一样长宽

e384ee1dabe04440914c20e51f83d824.png

a88e504e5ce541bca70772d47a893ec3.png

结果:图片长宽相等了,可以在同一坐标位置写入“校名”

三、有的图片上右下角是白色,文字也是白色,看不清楚。因而要确定文字的颜色

d1893322d6ce4d39902ea4d4ae99fe4c.png

结果:写入白字黑影文字

67e9926695ef40fb9fc865e1e3000593.png

代码展示

'''
给通讯照片批量添加学校名称
作者:AI对话大师,阿夏
时间:2024年4月21日
'''
from PIL import Image, ImageDraw, ImageFont
import os

# 设置要读取的文件夹路径和要添加的文字
folder_path=r'C:\Users\jg2yXRZ\OneDrive\桌面\1'
# 设置要读取的文件夹路径和要修改的图片大小
new_size = (863, 640)
# new_path = folder_path+r'\new'
text = '上海市小红花幼儿园'
text_color1 = (0, 0, 0)  # 设置文字颜色为黑色,格式为RGB
text_color2 = (255, 255, 255)  # 设置文字颜色为白色,格式为RGB


# 遍历文件夹中的所有图片,修改图片大小
for filename in os.listdir(folder_path):
    if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
        # 打开图片并修改大小
        img = Image.open(os.path.join(folder_path, filename))
        img = img.resize(new_size)
        
        # 保存修改后的图片到原文件夹
        img.save(os.path.join(folder_path, filename))

# 遍历文件夹中的所有图片
for filename in os.listdir(folder_path):
    if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
        # 打开图片并获取图片大小
        img = Image.open(os.path.join(folder_path, filename))
        width, height = img.size
        print(width,height)
        # 853,640
        
        # 在图片上添加文字
        draw = ImageDraw.Draw(img)
        font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        draw.text((550, 600), text, font=font,fill=text_color2)
        # 在图片上添加文字
        draw = ImageDraw.Draw(img)
        font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        draw.text((552, 602), text, font=font,fill=text_color1)

        
        # 保存修改后的图片到新文件夹
        new_folder_path = os.path.join(folder_path, 'new')
        if not os.path.exists(new_folder_path):
            os.makedirs(new_folder_path)
        img.save(os.path.join(new_folder_path, filename))

结果展示:

1、生成一个new文件,存放有校名的图片

3c1d5a1bc02643f1a765ff486616fa9a.png

2、每张图片右下角有文字

9943a7409d3247e49ef32486d7fb9e25.png3、图片右下角增加“白字黑影”的校名(30磅黑体)

144b2bff31384ac4a38aec9e12df7aae.png340a854130234591943b244beb14af73.png

这样就完成了通讯照片批量添加学校名的需求

打包,上传

efc0ffe3151c4f6ca11d02add9d468dd.png

fa349cc1af5d4600990c82ba46f7b3b1.png

本文参考——给图片添加“图案”

【教学类-50-05】20240410“数一数”4类图片添加“难度星号”-CSDN博客文章浏览阅读756次,点赞32次,收藏8次。【教学类-50-05】20240410“数一数”4类图片添加“难度星号”https://blog.csdn.net/reasonsummer/article/details/137595258

20240501再次上传通讯照片,觉得1层黑1层白的阴影文字(两层文字)看起来还不是明显。

于是准备在1个白色文字周围加上4次黑色文字,组合成外框样式,变成白底黑线文字

代码展示(白底黑框文字)

'''
给通讯照片批量添加学校名称(黑框白底文字)
作者:AI对话大师,阿夏
时间:2024年4月21日
'''
from PIL import Image, ImageDraw, ImageFont
import os

# 设置要读取的文件夹路径和要添加的文字
folder_path=r'C:\Users\jg2yXRZ\OneDrive\桌面\02公众号照片'

# 设置要读取的文件夹路径和要修改的图片大小
# 先把图片修成统一大小
new_size = (863, 640)
# new_path = folder_path+r'\new'
text = '上海市小红花幼儿园'

text_color1 = (255, 255, 255)  # 设置文字颜色为白色,格式为RGB 白色在上
text_color2 = (0, 0, 0)  # 设置文字颜色为黑色,格式为RGB 四个黑色在下



# 遍历文件夹中的所有图片,修改图片大小
for filename in os.listdir(folder_path):
    if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
        # 打开图片并修改大小
        img = Image.open(os.path.join(folder_path, filename))
        img = img.resize(new_size)
        
        # 保存修改后的图片到原文件夹
        img.save(os.path.join(folder_path, filename))

# 遍历文件夹中的所有图片
for filename in os.listdir(folder_path):
    if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'):
        # 打开图片并获取图片大小
        img = Image.open(os.path.join(folder_path, filename))
        width, height = img.size
        print(width,height)
        # 853,640
        
        # # 在图片上添加文字(白色在底层)
        # draw = ImageDraw.Draw(img)
        # font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        # draw.text((550, 600), text, font=font,fill=text_color1)

        # 在图片上添加文字(黑色文字在先添加,就在下层)
        draw = ImageDraw.Draw(img)
        font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        draw.text((551, 601), text, font=font,fill=text_color2)
        # 在图片上添加文字
        draw = ImageDraw.Draw(img)
        font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        draw.text((549, 599), text, font=font,fill=text_color2)
        # 在图片上添加文字
        draw = ImageDraw.Draw(img)
        font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        draw.text((549, 601), text, font=font,fill=text_color2)
        # 在图片上添加文字
        draw = ImageDraw.Draw(img)
        font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        draw.text((551, 599), text, font=font,fill=text_color2)

        # 在图片上添加文字(白色在最后添加,就是上层)
        draw = ImageDraw.Draw(img)
        font = ImageFont.truetype(r'C:\Windows\Fonts\simhei.ttf', 30)
        draw.text((550, 600), text, font=font,fill=text_color1)

        
        

        
        # 保存修改后的图片到新文件夹
        new_folder_path = os.path.join(folder_path, 'new')
        if not os.path.exists(new_folder_path):
            os.makedirs(new_folder_path)
        img.save(os.path.join(new_folder_path, filename))

  • 45
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿夏reasonsummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值