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的Django框架下管理站点的基本方法
Jul 17 Python
python比较两个列表是否相等的方法
Jul 28 Python
Python常用知识点汇总
May 08 Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 Python
PyQt5每天必学之日历控件QCalendarWidget
Apr 19 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
python批量将excel内容进行翻译写入功能
Oct 10 Python
Python List列表对象内置方法实例详解
Oct 22 Python
Python实现获取当前目录下文件名代码详解
Mar 10 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
Jul 03 Python
python一些性能分析的技巧
Aug 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
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
discuz目录文件资料汇总
2014/12/30 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
详解jQuery选择器
2016/12/21 Javascript
Ajax基础知识详解
2017/02/17 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
Python入门篇之文件
2014/10/20 Python
Python中作用域的深入讲解
2018/12/10 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
热门专业求职信
2014/05/24 职场文书
房屋转让协议书
2014/10/18 职场文书
2014年体育部工作总结
2014/11/13 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
PyTorch的Debug指南
2021/05/07 Python
2021年最新用于图像处理的Python库总结
2021/06/15 Python
MongoDB数据库的安装步骤
2021/06/18 MongoDB
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技