Python基于identicon库创建类似Github上用的头像功能


Posted in Python onSeptember 25, 2017

本文实例讲述了Python基于identicon库创建类似Github上用的头像功能。分享给大家供大家参考,具体如下:

Identicon在很多大型IT网站上可以见到,比如Github,Sourceforge,Stackoveflow等等, 刚刚注册的账号的个人信息的默认图标​都​是​一​些​看​上​去​像​七​巧​板​拼​凑​的​图​案​,​对​称​又​变​化​多​端​。

本​人​也​是​因​为​好​奇​才​在​网​上​搜​了​这​个​算​法​,​主​要​是​哈​希​算​法​,​把​邮​箱​或​者​I​P​的​信​息​图​形​化​,​很​直​观​。

这个算法有很多版本, php的, .net的, python的, ruby的, 因为咱们社区是python的, 所以这里给大家发一个python版本的.

使用示例:

1. 直接到 https://github.com/shnjp/identicon 下载identicon.py,
2. 将identicon.py放到你能找到的地方.
3. 然后在相同的目录里新建一个test.py
4. 打开test.py

输入以下代码:

import identicon
img= identicon.render_identicon('123123', 16)
img.show()

这样就能够看到图像了, 大小是3*16=48. 即图片大小是48X48像素的尺寸.如果报错了, 就是你没有安装python的图像处理模块PIL, 安装之后再试.

保存图像

上面的代码只是简单的使用, 还没保存.保存代码如下:

import identicon
img= identicon.render_identicon('123123', 16)
img.save('123123.png')

会在相同的目录保存一个png格式的图片

批量生成图片

代码如下:

import identicon
def gen_identicon(code,size):
  img= identicon.render_identicon(code, 16)
  #img.show()
  img.save('%s_%s.png'%(code,size))
for x in xrange(10000000,10000000+5):
  gen_identicon(x, 16)
for x in xrange(20000000,20000000+5):
  gen_identicon(x, 16)
for x in xrange(40000000,40000000+5):
  gen_identicon(x, 16)
for x in xrange(80000000,80000000+5):
  gen_identicon(x, 16)
for x in xrange(160000000,160000000+5):
  gen_identicon(x, 16)

说明:

identicon.render_identicon(code, 16)

这里的code是一个数值, 或者字符串数值, 如果code比较大, 比如code=10000000, 生成的图片就是彩色的. code比较小, 比如code=1~100之间的, 生成的图片就是黑白色的.

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
详解Python中的日志模块logging
Jun 19 Python
详解 Python中LEGB和闭包及装饰器
Aug 03 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
May 29 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
tensorflow 变长序列存储实例
Jan 20 Python
python实现同一局域网下传输图片
Mar 20 Python
使用pytorch实现论文中的unet网络
Jun 24 Python
看看如何用Python绘制小米新版天价logo
Apr 20 Python
python通配符之glob模块的使用详解
Apr 24 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 #Python
python中通过预先编译正则表达式提高效率
Sep 25 #Python
python之Character string(实例讲解)
Sep 25 #Python
python利用正则表达式搜索单词示例代码
Sep 24 #Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 #Python
Django如何实现内容缓存示例详解
Sep 24 #Python
Django查询数据库的性能优化示例代码
Sep 24 #Python
You might like
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php输入数据统一类实例
2015/02/23 PHP
php中引用符号(&)的使用详细介绍
2016/12/06 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
javascript RadioButtonList获取选中值
2009/04/09 Javascript
javascript 进度条 实现代码
2009/07/30 Javascript
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
运动会广播稿100字
2014/01/11 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
离婚协议书怎么写2014
2014/09/30 职场文书
开学典礼校长致辞
2015/07/29 职场文书
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android