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发送arp欺骗攻击代码分析
Jan 16 Python
详解Python之数据序列化(json、pickle、shelve)
Mar 30 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
python opencv判断图像是否为空的实例
Jan 26 Python
django-allauth入门学习和使用详解
Jul 03 Python
详解解决Python memory error的问题(四种解决方案)
Aug 08 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 Python
Python TKinter如何自动关闭主窗口
Feb 26 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
May 18 Python
详解python中的异常捕获
Dec 15 Python
Python函数中apply、map、applymap的区别
Nov 27 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
smarty实例教程
2006/11/19 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
python文件操作之目录遍历实例分析
2015/05/20 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
Python图像滤波处理操作示例【基于ImageFilter类】
2019/01/03 Python
超简单的Python HTTP服务
2019/07/22 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
django 外键创建注意事项说明
2020/05/20 Python
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
RealTek面试题
2016/06/28 面试题
材料成型专业个人求职信范文
2013/09/25 职场文书
寒假家长评语大全
2014/04/16 职场文书
高三学生评语大全
2014/04/25 职场文书
献爱心标语
2014/06/21 职场文书
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL