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中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
利用python将xml文件解析成html文件的实现方法
Dec 22 Python
Python实现二维数组输出为图片
Apr 03 Python
详解python中__name__的意义以及作用
Aug 07 Python
python中几种自动微分库解析
Aug 29 Python
python getpass实现密文实例详解
Sep 24 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
Python如何实现线程间通信
Jul 30 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
python打包生成so文件的实现
Oct 30 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清除缓存的几种方法总结
2017/09/12 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
Python时间获取及转换知识汇总
2017/01/11 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
python实现弹窗祝福效果
2019/04/07 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
Python如何测试stdout输出
2020/08/10 Python
使用django自带的user做外键的方法
2020/11/30 Python
模具设计与制造专业应届生求职信
2013/10/18 职场文书
建筑经济管理专业求职信分享
2014/01/06 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
员工手册编写范本
2015/05/14 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
MySQL笔记 —SQL运算符
2022/01/18 MySQL