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常用知识点汇总
May 08 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
Feb 13 Python
详解python中executemany和序列的使用方法
Aug 12 Python
Python实现Pig Latin小游戏实例代码
Feb 02 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
Python3 max()函数基础用法
Feb 19 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
Python Django Cookie 简单用法解析
Aug 13 Python
python 列表、字典和集合的添加和删除操作
Dec 16 Python
pycharm第三方库安装失败的问题及解决经验分享
May 09 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 Python
Python识别花卉种类鉴定网络热门植物并自动整理分类
Apr 08 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
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
JS中Location使用详解
2015/05/12 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
python返回昨天日期的方法
2015/05/13 Python
python实现爬虫下载美女图片
2015/07/14 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
python属于解释语言吗
2020/06/11 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
应聘编辑自荐信范文
2014/03/12 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
服务承诺书怎么写
2014/05/24 职场文书
计划生育证明格式范本
2014/09/12 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
2015年党小组工作总结
2015/05/26 职场文书
Python简易开发之制作计算器
2022/04/28 Python