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中使用中文的方法
Feb 19 Python
python合并文本文件示例
Feb 07 Python
详解Python中DOM方法的动态性
Apr 11 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
python的构建工具setup.py的方法使用示例
Oct 23 Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 Python
scrapy爬虫完整实例
Jan 25 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
Python数学形态学实例分析
Sep 06 Python
python实现微信打飞机游戏
Mar 24 Python
python 多线程死锁问题的解决方案
Aug 25 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
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
Python单元测试实例详解
2018/05/25 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
Python列表切片常用操作实例解析
2019/12/16 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
大学自主招生推荐信
2014/05/10 职场文书
公司欠款证明
2015/06/24 职场文书
大学生军训感言
2015/08/01 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server