前言
效果图如下:
可以看出来,由小图片拼接为最终的正方形的大图,大图的边长由多个小图组成,为了维持❤️形的对成性,故而大图的边长应该为奇数个小图,因此在由图片数量计算大图的边长时若为偶数应减一。
由大图边长各为5、7、9画出预期心形图的示意如下:
规律可自行总结,可能爱心的效果不是很好,如果有更好想法的欢迎交流讨论,共同进步。
代码
下面将完整代码贴出来,具体的解释在注释中,有疑问的可以先看上一篇博客:
Python将大量图片拼成心形(一)
from PIL import Image
import os
import math
import random
import uuid
# 处理的所有图片及结果存放的总目录
dir = "/Users/wleng/Downloads/图片3"
# 白底图片所在的路径
whiteImagePath = ["/Users/lengwei/Downloads/图片3/white.png"]
# 白底图片所在的目录
whiteGoalPath = "/Users/lengwei/Downloads/图片3/白底色/"
# 拼接后的图片的总尺寸,根据尺寸和图片数量计算出每张图片的大小
totalSize = 1000
# 重设大小后的图片所在的目录
transferDir = '1'
# 拼接结果图片所在的目录
resultDir = '2'
# 计算每个拼