新的一年悄然来临,祝大家在新的一年红红火火,幸福美满?。
本文教大家用Python来秀恩爱,撒狗粮,单身狗慎入(●ˇ∀ˇ●)。
绘制成果
HAPPY NEW YEAR
1、这是我的男朋友
2、这是我的女朋友
代码解析
HAPPY NEW YEAR
1、导入包并设置文件存储路径
首先,加载需要的包并设置文件的存放路径。
import os
import cv2
import numpy as np
from PIL import Image
from PIL import ImageFont, ImageDraw, Image
os.chdir(r"F:\公众号\5.请给我一个女朋友") #设置图片的存放路径
2、导入包并设置文件存储路径
接着,读取男朋友(代称,粉丝朋友不要介意?)的图片和背景图片。
并把男朋友的图片缩小为背景图片的一定比例。
然后,把缩小的男朋友图片粘贴到背景图片中去。
ico = Image.open("xz.jpg") #打开男朋友的图片
friend_img = Image.open("slw2.jpg") #打开头像图片
ratio = friend_img.width/ico.width/1.5 #计算男朋友图片缩放比例
size_ico = (int(ico.width*ratio),int(ico.height*ratio)) #计算男友图片的尺寸
ico = ico.resize(size_ico,Image.ANTIALIAS) #缩放男朋友图片
#ico_position = (friend_img.width-ico.width,friend_img.height-ico.height) #计算粘贴的坐标
ico_position = (60,60) #设置男朋友图片粘贴的坐标
friend_img.paste(ico, ico_position) #粘贴图片
head_size = 200,200 #设置微信头像的标准尺寸
head_img = friend_img.resize(head_size,Image.ANTIALIAS) #更改图片成微信头像的标准尺寸
head_img.save("background.jpg", quality=100, optimize=True)
得到结果如下:
其中,背景图片如下:
男朋友图片如下:
3、在图片上添加文字
最后,在图片上添加文字。
bk_img = cv2.imread("background.jpg") #编辑图片路径
fontpath = "font/simsun.ttc" #设置需要显示的字体
font = ImageFont.truetype(fontpath, 16) # 16为字体大小
img_pil = Image.fromarray(bk_img)
draw = ImageDraw.Draw(img_pil)
# (28, 105)为字体的位置,(170,100,100)为字体颜色
draw.text((28, 105), "这是我的", font = font, fill = (170,100,100))
draw.text((28, 130), "男朋友", font = font, fill = (170,100,100))
bk_img = np.array(img_pil)
cv2.imshow(r"add_text", bk_img) #显示图片
cv2.waitKey()
cv2.imwrite(r"add_text2.jpg",bk_img) # 保存图片路径