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遍历zip文件输出名称时出现乱码问题的解决方法
Apr 08 Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 Python
关于反爬虫的一些简单总结
Dec 13 Python
python利用高阶函数实现剪枝函数
Mar 20 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
对python中return与yield的区别详解
Mar 12 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
python实现PolynomialFeatures多项式的方法
Jan 06 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 分页原理分析,大家可以看看
2009/12/21 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
python追加元素到列表的方法
2015/07/28 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python实现多属性排序的方法
2018/12/05 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
Python itertools.product方法代码实例
2020/03/27 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
会计与审计专业大专生求职信
2013/10/03 职场文书
中式面点餐厅创业计划书
2014/01/29 职场文书
法律进机关实施方案
2014/03/12 职场文书
初中同学会活动方案
2014/08/22 职场文书
公司备用金管理制度
2015/08/04 职场文书
导游词之无锡唐城
2019/12/12 职场文书