前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python一键生成国庆渐变头像

Python一键生成国庆渐变头像

原创
作者头像
superhua
修改2022-09-26 08:45:55
5350
修改2022-09-26 08:45:55
举报
文章被收录于专栏:CNNCNN

国庆长假进入倒计时,小编的爱国情怀高涨。这不,赶紧制作国庆红旗渐变头像,效果如下:

头像效果
头像效果

为了更贴心的照顾读者,小编做了个小程序,读者一键使用微信头像生成。

国旗渐变头像
国旗渐变头像

打开上面小程序,点击爱国头像即可进入, 如下所示。

小程序界面
小程序界面

接下来我们开始讲解使用Python生成国旗渐变头像。

1 获取国旗素材

中华人民共和国国旗是中华人民共和国的象征和标志。每个公民和组织,都应当尊重和爱护国旗。国旗素材前往国家官网下载:http://www.gov.cn/guoqing/guoqi/index.htm

国家提供的网络使用国旗如下:

官方标准网络使用国旗
官方标准网络使用国旗

2 制作渐变

这里渐变效果有两种,一种是水平方向,另一种是垂直方向。我们只需要将透明度从1逐步降到0即可,水平方向的渐变代码如下:

代码语言:python
代码运行次数:0
复制
def h_linear_mask(start, end, width=WH_SIZE):
    h_line = np.linspace(start, end, width)
    h_mask = np.vstack([h_line for _ in range(WH_SIZE)])
    h_mask = np.clip(h_mask, 0, 1)
    return h_mask

其中startend参数用于设置透明度起始值和结束值。同理,垂直方向渐变如下:

代码语言:python
代码运行次数:0
复制
def v_linear_mask(start, end, height=WH_SIZE):
    v_line = np.linspace(start, end, height)
    v_line = np.reshape(v_line, (height, 1))
    v_mask = np.hstack([v_line for _ in range(WH_SIZE)])
    v_mask = np.clip(v_mask, 0, 1)
    return v_mask

水平方向渐变如下:

水平方向渐变
水平方向渐变

3 分2段渐变

上面可以看到五星红旗中的星星透明度有点过了,对于部分偏黄的头像来说,容易导致星星不清楚。因此,我们需要降低水平方向前半部分的透明度,需要分两段:

代码语言:txt
复制
def h_two_stage_hq(start, mid, end, seg_len):
    mask_1 = h_linear_mask(start, mid, seg_len)
    mask_2 = h_linear_mask(mid, end, WH_SIZE - seg_len)
    mask = np.hstack([mask_1, mask_2]) 
    return creat_hq(mask)

效果如下:

水平方向渐变
水平方向渐变

4 源码获取

  1. 关注公众号:Python学习实战
  2. 公众号聊天界面回复:国庆,获取完整源码。

如果本文帮助到了您,辛苦您点个不需花钱的赞,您的举手之劳将对我提供了无限的写作动力! 也欢迎关注我的公众号:Python学习实战, 第一时间获取最新文章。

关注【Python学习实战】
关注【Python学习实战】

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 获取国旗素材
  • 2 制作渐变
  • 3 分2段渐变
  • 4 源码获取
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档