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实现读取txt文件并转换为excel的方法示例
May 17 Python
使用python对excle和json互相转换的示例
Oct 23 Python
python绘制简单彩虹图
Nov 19 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
详解python 中in 的 用法
Dec 12 Python
python绘制动态曲线教程
Feb 24 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
Django数据统计功能count()的使用
Nov 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
星际原理概述
2020/03/04 星际争霸
判断PHP数组是否为空的代码
2011/09/08 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
javascript基本类型详解
2014/11/28 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
python 从远程服务器下载东西的代码
2013/02/10 Python
Python运算符重载详解及实例代码
2017/03/07 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
python中pip的安装与使用教程
2018/08/10 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
代码实例讲解python3的编码问题
2019/07/08 Python
基于django传递数据到后端的例子
2019/08/16 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
Python将字典转换为XML的方法
2020/08/01 Python
html5实现滑块功能之type="range"属性
2020/02/18 HTML / CSS
美国创意之家:BulbHead
2017/07/12 全球购物
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
校园安全标语
2014/06/07 职场文书
大学生工作求职信
2014/06/23 职场文书
给上级领导的感谢信
2015/01/22 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
无工作证明怎么写
2015/06/15 职场文书
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL