利用Python制作花式照片墙!就拿这只鹦鹉开刀吧

原材料准备:

  • Python3,图片(最好是某一类图片,一家人整整齐齐)
  • 这里我使用的是“脆皮鹦鹉”表情包,高糊却又不失档次。

佐料:

  • pillow模块,以及一些Python自带的模块

原材料处理:

  • 咱先来处理一下原材料。把这些图片的大小尺寸给整齐划一了,方便操作,也更加美观。这里用到了 resize 函数。统一修改为64X64大小。同时,为了方便对这些图片进行操作,给这些图片按照自然数的顺序来重新命名。
class ImageRename():
     def __init__(self):
         self.path = 'D:/parrot'

     def rename(self):
         filelist = os.listdir(self.path)
         total_num = len(filelist) 
         i = 0
         for item in filelist:
             if item.endswith('.jpg'):
                 src = os.path.join(os.path.abspath(self.path), item)
                 dst = os.path.join(os.path.abspath(self.path),  str(i) + '.jpg')
                 os.rename(src, dst)
                 print('converting %s to %s ...' % (src, dst))
             i+=1
         print('total %d to rename & converted %d jpgs' % (total_num, i))

模具打造:

  • 为了能让端上来的美食有一个完美的形象,打造一个好的模具是很重要的。而模具的构造,我们可以人工手动生成,也可以选择用代码自动化生成。

  • 想必大家也能看得出来这是个爱心的轮廓,这个轮廓线由“1”连接形成。下面这段代码可以生成闪电形状。
with open ('3.txt','w') as f:
    for i in range(3,-4,-1):
        for j in range(-3,4):
            f.write('1,') if i<=j+3 and i>=j-3 and i*j<=0 else f.write('0,')
        f.write('\n')

(PS:更多的模板可以由你自己来创造~)

东西都准备好了,我们可以把这个菜炒起来了!
照着刚刚的模具,即读取模板文件。我们利用 paste 函数在模板是“1”的位置放入图片,“0”的位置就不做操作。

在学习过程中有什么不懂得可以加我的
python学习扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

def main(pictures_dir, template_path):
  template = parseTemplate(template_path)

  w = len(template[0])
  h = len(template)
  image_new = Image.new('RGBA', (CELLSIZE*w, CELLSIZE*h))
  img_idx = -1
  for y in range(h):
    for x in range(w):
      if template[y][x] == '1':
        img, img_idx = yieldImage(pictures_dir, img_idx, (CELLSIZE, CELLSIZE))
        image_new.paste(img, (x*CELLSIZE, y*CELLSIZE))
  image_new.show()
  image_new.save('picturewall.png')

出炉

裹上鸡蛋液,粘上面包糠,
放进油锅炸至两面金黄,
老人小孩都爱吃,
隔壁小孩都馋哭了。

  • 等上片刻,我们的菜就新鲜出炉啦。有甜蜜双人套餐

  • 有油炸三叶草

  • 有霹雳便当

各种源代码教程放在我们的学习圈!想学习Python的小伙伴都可以来取经!

发布了62 篇原创文章 · 获赞 3 · 访问量 1426

猜你喜欢

转载自blog.csdn.net/NNNJ9355/article/details/103838010