38.5月30日 综合项目:用拼图制作UP主画像封面图(不做重点)
综合项目:用拼图制作UP主画像封面图
使用UP主本人的所有视频作品封面,为后续UP主画像制作封面图,效果图:

下载图片
在之前爬虫数据基础上,将封面图这列中所有图片进行下载并保存。
对之前课程“爬取图片网站”的代码进行修改。
逻辑简单,过程略。
from DrissionPage import WebPage
import time
import pandas as pd
wp=WebPage()
df = pd.read_csv('小约翰可汗.csv')
df=df.dropna()
image_url_list=list(df['封面图'])
save_path=r"./images"
for image_url in image_url_list:
wp.get(image_url)
res=wp.download(image_url, save_path)
print(res)
拼图
新开个python文件。
引入库
import os
from PIL import Image
-
import os:
os 是 Python 的标准库之一,提供了与操作系统交互的功能。
导入 os 模块后,你可以使用它提供的各种函数和参数来执行文件和目录操作,环境变量管理,进程管理等。
例如,使用 os 模块可以获取当前工作目录、更改工作目录、列出目录内容、创建和删除文件等。 -
from PIL import Image:
这行代码从 PIL(Python Imaging Library)库中导入 Image 模块。
PIL 是一个流行的图像处理库,用于图像文件的读取、处理和保存。
Image 是 PIL 中的核心模块,它提供了图像处理的基本功能,例如打开图像文件、显示图像、图像的基本操作(如裁剪、旋转、缩放)等。
导入 Image 模块后,你可以使用它来处理图像,如加载图像、调整大小、裁剪、应用滤镜等。
加载所有图片
# 设置包含图片的文件夹路径
folder_path = r'./images'
# 获取文件夹中所有的文件名
all_files = os.listdir(folder_path)
images = []
for file in all_files:
# 检查文件是否以.jpg结尾(不区分大小写)
if file.lower().endswith('.jpg'):
# 如果是.jpg文件,则将其完整路径添加到列表中
images.append(os.path.join(folder_path, file))
得到的images 是图片路径列表,注意不是图片!
指定最终大小
# 创建一个新的16:9的画布,这里设为1920x1080
canvas_width = 1920
canvas_height = 1080
new_image = Image.new('RGB', (canvas_width, canvas_height), (255, 255, 255)) # 背景色为白色
# 初始化粘贴位置
x_offset = 0
y_offset = 0
拼接
height =90
width=160
for image_path in images:
img = Image.open(image_path)
# 调整图像大小
img = img.resize((width, height), Image.Resampling.LANCZOS)
# 如果超过画布宽度,则换行
if x_offset + width > canvas_width:
x_offset = 0
y_offset += height
# 如果超出画布高度,则停止粘贴
if y_offset + height > canvas_height:
break
# 粘贴图像到画布
new_image.paste(img, (x_offset, y_offset))
x_offset += width
# 保存拼接后的图片
new_image.show()
img = Image.open(image_path):打开图片,存入变量img
img = img.resize((width, height), Image.Resampling.LANCZOS) :原图太大,调整分辨率(160,90)
if x_offset + width > canvas_width:
x_offset = 0
y_offset += height
通过位置,判断是否进行换行
# 如果超出画布高度,则停止粘贴
if y_offset + height > canvas_height:
break
如果高度也超了,停止循环
new_image.paste(img, (x_offset, y_offset)) 粘贴图片
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 现代职校董良
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果