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下载FTP上的文件夹的实现代码
Feb 10 Python
python读文件逐行处理的示例代码分享
Dec 27 Python
python编写的最短路径算法
Mar 25 Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
浅谈Python3中print函数的换行
Aug 05 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 Python
Python中rapidjson参数校验实现
Jul 25 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通用检测函数集合
2006/11/25 PHP
php开发文档 会员收费1期
2012/08/14 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
axios实现简单文件上传功能
2019/09/25 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python实现挑选出来100以内的质数
2015/03/24 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
python实现烟花小程序
2019/01/30 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
青春奉献演讲稿
2014/05/08 职场文书
产品推广策划方案
2014/05/10 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript