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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
Python编码爬坑指南(必看)
Jun 10 Python
Python lambda表达式用法实例分析
Dec 25 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
Jun 27 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
python3实现绘制二维点图
Dec 04 Python
简单了解Python读取大文件代码实例
Dec 18 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
django模板获取list中指定索引的值方式
May 14 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
学python爬虫能做什么
Jul 29 Python
Python识别处理照片中的条形码
Nov 16 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 is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php常用文件操作函数汇总
2014/11/22 PHP
19个Android常用工具类汇总
2014/12/30 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
jquery中动态效果小结
2010/12/16 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python实现list反转实例汇总
2014/11/11 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
PyQt5实现简易电子词典
2019/06/25 Python
Python笔记之facade模式
2019/11/20 Python
什么是python的列表推导式
2020/05/26 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
计算机应用职专应届生求职信
2013/11/12 职场文书
机械工程师岗位职责
2014/06/16 职场文书
会计系毕业求职信
2014/08/07 职场文书
2014年党员整改措施
2014/10/24 职场文书
好媳妇事迹材料
2014/12/24 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS