8小时Python零基础轻松入门
斑马式切割图片 拼接,制作一幅美丽动人的图片原来如此简单。
下面看看制作效果吧
是不是非常的炫酷,下面让我们一起来看一看到底是如何生成的吧
1、 导入需要使用的模块
from PIL import Image
2、导入需要进行斑马切割的图片
path1 = "F:\图片\\d.jpg" # 进行斑马图切割的图片
path2 = "F:\图片\\b.jpg"
# 打开图片
image1 = Image.open(path1) # 打开图片
image2 = Image.open(path2)
3 、 获取图片的大小(选取的图片尽量大小一致,如果不是一致,可以先对图片进行一定的处理)
(width,height) = image1.size
print("image1 size:",image1.size) # 获取图片的大小
print("image2 size:",image2.size) # 两个图片的大小需要相同,不相同的图片大小效果不好看
4 、 对图片进行切割
image1_part = [] # 对图片一进行切割保存
image1_part.append(image1.crop((0,0, width, height//5)))
image1_part.append(image1.crop((0,height//5, width, 2*height//5)))
image1_part.append(image1.crop((0,2*height//5, width, 3*height//5)))
image1_part.append(image1.crop((0, 3*height//5, width, 4*height//5)))
image1_part.append(image1.crop((0, 4 * height // 5, width, height)))
image2_part = [] # 对图片二进行切割保存
image2_part.append(image2.crop((0, 0, width, height // 5)))
image2_part.append(image2.crop((0, height // 5, width, 2 * height // 5)))
image2_part.append(image2.crop((0, 2 * height // 5, width, 3 * height // 5)))
image2_part.append(image2.crop((0, 3 * height // 5, width, 4 * height // 5)))
image2_part.append(image2.crop((0, 4 * height // 5, width, height)))
5 、创建一个画布,对切割出来的图片碎片进行粘贴
# 新建一个画布,粘贴进去
draw = Image.new("RGB", (width , height * 2), color=(255, 255, 255))
draw.paste(image1_part[0], (0, 0, width, height // 5))
draw.paste(image2_part[0], (0, height // 5, width, 2 * height // 5))
draw.paste(image1_part[1], (0, 2 * height // 5, width, 3 * height // 5))
draw.paste(image2_part[1], (0, 3 * height // 5, width, 4 * height // 5))
draw.paste(image1_part[2], (0, 4 * height // 5, width, height))
draw.paste(image2_part[2], (0, height, width, 6 * height // 5))
draw.paste(image1_part[3], (0, 6 * height // 5, width, 7 * height // 5))
draw.paste(image2_part[3], (0, 7 * height // 5, width, 8 * height // 5))
draw.paste(image1_part[4], (0, 8 * height // 5, width, 9 * height // 5))
draw.paste(image2_part[4], (0, 9 * height // 5, width, 2 * height))
draw.save("F:\图片\\abc.jpg")
draw.show()
是不是很简单就制作成功了呢,下面快来尝试一下吧
注意:
1、两张图片的大小最好设置为一致的;
2、对于切割的大小可以自己设置,切割为大小不等的模块也是随意的;
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115152.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...