花式照片墙之脆皮鹦鹉

观众老爷们,小李今天给大家展示一下我“精湛”的厨艺。如题所示,花式照片墙这道小菜马上给大家端上来,大家吃好喝好。

原材料准备:

  • 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”的位置就不做操作。

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')

出炉

裹上鸡蛋液,粘上面包糠,

放进油锅炸至两面金黄,

老人小孩都爱吃,

隔壁小孩都馋哭了。

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

  • 有油炸三叶草

  • 有霹雳便当

  • 另外代码和脆皮鹦鹉的表情包合集后台回复 「鹦鹉」 即可获取
发布了135 篇原创文章 · 获赞 490 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/lyc44813418/article/details/103546107