“我正在参加「掘金·启航计划」”
准备工作
与之前不同,这次需要下载pillow库。我用的是pycharm,演示一下Mac的下载方法(windows和Mac的下载方式不同)。
第一步
在上方栏选择pycharm,点击preferences。
第二步
点击preferences,打开偏好设置,选择python解释器。
第三步
点击python解释器,出现添加列表。
第四步
点击加号,输入你想要的安装包,点击安装即可。
这样pillow库就安装完成了。
准备照片
存放方式:
第一种
把存放照片的文件放在.py同一个文件,这样不需要复制很多路径,直接 ./照片名称.照片格式。
第二种
当然,如果想复制路径也可,在访达里选择文件位置即可。
下方红圈处右键即可复制路径。
正式编写代码
from PIL import Image
import os
files=os.listdir('/Users/qiaoyu/python作业联系/照片墙拼接/picture')
imgs = []
for file in files:
if file[-4:] == ".png":
imgs.append(file)
canvas=Image.new('RGB',(1200,900),(255,255,255))
count=0
for i in range(4):
for j in range(3):
box=(300*i,300*j,300*(i+1),300*(j+1))
img = Image.open(f'/Users/qiaoyu/python作业联系/照片墙拼接/picture/{imgs[count]}')
img = img.resize((300,300))
canvas.paste(img, box=box)
count+=1
canvas.show()
canvas.save('/Users/qiaoyu/python作业联系/照片墙拼接/picture/group.png')
展示效果
分析一下
- 首先导入模块pillow,利用os内置模块和pillow库中的image模块。
- 大致逻辑是:规定照片尺寸和底色(必须是白色,否则影响照片)通过for循环对照片进行排序输出,接着展示并对拼接图片进行命名。
注意点
- 如果你是windows电脑,你可能不需要这段代码:
for file in files:
if file[-4:] == ".png":
imgs.append(file)
当时我也是试了好久才明白报错的意思。这个文件有除了图片以外的文件,这会影响你进行图片的读取。增加这个筛选就可以解决这个问题,除了结尾为.png的图片都不能读取。
- 文件的路径一定要弄对,一定是该存放照片文件的地址!