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中用sleep()方法操作时间的教程
May 22 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
python简单线程和协程学习心得(分享)
Jun 14 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python 字典中取值的两种方法小结
Aug 02 Python
Python Pandas分组聚合的实现方法
Jul 02 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
python类共享变量操作
Sep 03 Python
django中cookiecutter的使用教程
Dec 03 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 07 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
PHP缓存技术的多种方法小结
2012/08/14 PHP
php页面防重复提交方法总结
2013/11/25 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python格式化压缩后的JS文件的方法
2015/03/05 Python
解析Python中的二进制位运算符
2015/05/13 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python实现简单的语音识别系统
2017/12/13 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
苹果美国官方商城:Apple美国
2016/08/24 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
2014学雷锋活动心得体会
2014/03/10 职场文书
平面设计求职信
2014/03/10 职场文书
文明城市创建标语
2014/06/16 职场文书
优秀高中学生评语
2014/12/30 职场文书
MYSQL常用函数介绍
2022/05/05 MySQL
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技