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

举报
芝士味的椒盐 发表于 2022/04/19 13:14:19 2022/04/19
【摘要】 👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟🌈擅长领域:Java、大数据、运维、电子🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!@[TOC] 缘由  使用pyt...

在这里插入图片描述

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!


@[TOC]

缘由

  使用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')
    
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。