写点什么

使用 PIL.Image 库极简生成含冬奥会元素头像

  • 2022 年 5 月 01 日
  • 本文字数:840 字

    阅读完需:约 3 分钟


👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟🌈擅长领域:Java、消息中间件、大数据、运维。

🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏。

🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!




缘由

  使用 python 的 PIL.Image 库生成含冬季元素的头像。

项目地址

gitee:https://gitee.com/mantianx/winter-olympics-avatar-generation

先贴一下头像生成的效果

代码展示

  • 这里主要用到的库是 PIL 的 image 库极其的简单

  • WinterAvata.py


  from PIL import Image    class WinterAvata(Image.Image):      # 自己的头像      def __init__(self, image_name):          self.avatar_image = Image.open(image_name);          self.avatar_image.convert('RGBA')          self.avatar_image_width_rate = 0.08      # 模版层      def createHappyAvatar(self, default='beijing'):          image = Image.open('avatar_template/winter_{}.png'.format(default))          image.convert('RGBA')          image_width = int(image.size[0] * self.avatar_image_width_rate )          re_size_w, re_size_h = image.size[0] - image_width, image.size[1] - image_width          avatar = self.avatar_image.resize((re_size_w, re_size_h))          temp_avatar = Image.new('RGBA', image.size)          x1 = int(image_width / 2)          y1 = int(image_width / 2)          temp_avatar.paste(avatar, (x1, y1, x1 + re_size_w, y1 + re_size_h))          temp_avatar.paste(image, (0, 0, 2184, 2184), image)          temp_avatar.save('result/resultAvatar.png')
复制代码


  • main.py


  import WinterAvata    if __name__ == '__main__':      winter_avatar = WinterAvata.WinterAvata('o1_ava.jpg')      winter_avatar.createHappyAvatar('fireworks')
复制代码


发布于: 刚刚阅读数: 2
用户头像

Java、消息中间件、大数据、运维 2022.04.23 加入

华为云云享专家、51CTOtop红人、CSDN博主、2021年第十届“中国软件杯”大学生软件设计大赛-B3-高并发条件下消息队列的设计与实现国赛二等奖、2021年浙江省职业院校技能大赛高职组“大数据技术与应用”赛项一等奖

评论

发布
暂无评论
使用PIL.Image库极简生成含冬奥会元素头像_Python_芝士味的椒盐_InfoQ写作社区