使用python identicon库创建类似Github上用的头像
2014-10-26 20:46
316 查看
Identicon在很多大型IT网站上可以见到,比如Github,Sourceforge,Stackoveflow等等, 刚刚注册的账号的个人信息的默认图标都是一些看上去像七巧板拼凑的图案,对称又变化多端。
本人也是因为好奇才在网上搜了这个算法,主要是哈希算法,把邮箱或者IP的信息图形化,很直观。
这个算法有很多版本, php的, .net的, python的, ruby的, 因为咱们社区是python的, 所以这里给大家发一个python版本的.
使用示例:
直接到 https://github.com/shnjp/identicon 下载identicon.py,
将identicon.py放到你能找到的地方.
然后在相同的目录里新建一个test.py
打开test.py
输入以下代码:
这样就能够看到图像了, 大小是3*16=48. 即图片大小是48X48像素的尺寸.如果报错了, 就是你没有安装python的图像处理模块PIL, 安装之后再试.
保存图像
上面的代码只是简单的使用, 还没保存.保存代码如下:
会在相同的目录保存一个png格式的图片
批量生成图片
代码如下:
说明:
这里的code是一个数值, 或者字符串数值, 如果code比较大, 比如code=10000000, 生成的图片就是彩色的. code比较小, 比如code=1~100之间的, 生成的图片就是黑白色的.
完.
本人也是因为好奇才在网上搜了这个算法,主要是哈希算法,把邮箱或者IP的信息图形化,很直观。
这个算法有很多版本, php的, .net的, python的, ruby的, 因为咱们社区是python的, 所以这里给大家发一个python版本的.
使用示例:
直接到 https://github.com/shnjp/identicon 下载identicon.py,
将identicon.py放到你能找到的地方.
然后在相同的目录里新建一个test.py
打开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基于identicon库创建类似Github上用的头像功能
- 使用 Python 创建 UNIX 命令行工具
- 在python中使用lambda来创建匿名函数
- python 使用scapy创建arping脚本
- 使用python测测你的系统最多能创建多少个线程
- 使用API创建窗体(类似VC的创建过程)
- git 使用(ssh key创建和github使用)
- 如何创建一个类似 Instagram 的使用 Web Service 作后台的应用
- 使用python测测你的系统最多能创建多少个线程
- 使用python libvirt 接口函数创建 dir 类型存储池、存储卷及删除 存储卷、存储池
- 使用Shiboken为C++和Qt库创建Python绑定
- Python使用MySQLdb创建、调用MySQL存储过程
- c#如何使用webservice、存储过程及存储过程的创建(简单模仿类似QQ统计用户在线时间为例)
- 使用virtualenv创建虚拟python环境 | the5fire的技术博客
- 使用delphi 为python创建一个新的类型。
- c#如何使用webservice、存储过程及存储过程的创建(简单模仿类似QQ统计用户在线时间为例)
- 使用python自带的xml.dom创建和解析xml
- 使用PYTHON创建XML文档
- GitHub的使用(上)—— 创建和更新
- IronPython for ASP.NET:使用IronPython创建一个简单的Web页面