本文实例讲述了Python基于identicon库创建类似Github上用的头像功能。分享给大家供大家参考,具体如下:
Identicon在很多大型IT网站上可以见到,比如Github,Sourceforge,Stackoveflow等等, 刚刚注册的账号的个人信息的默认图标都是一些看上去像七巧板拼凑的图案,对称又变化多端。
本人也是因为好奇才在网上搜了这个算法,主要是哈希算法,把邮箱或者IP的信息图形化,很直观。
这个算法有很多版本, 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数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
问题内容: 改善这个问题 我正在 寻找一个Java绘图库,它可能与matplotlib对于python一样好。 我已经针对SO问题进行了一些研究,但是自从被问起以来,其中许多问题已经过时,并且发生了很大变化。提出的建议导致网站从表面上看似乎提供了很好的库,但是 我的需求是即时的,我无暇花时间使用它们并通过经验找到最佳的库。 因此,我想问一下您的经验,你们中的任何人都可以推荐一个针对java的图形库
问题内容: 您使用哪个类似Java的readline类库?像库这样的“ readline”是指用于编辑控制台输入,支持历史记录,制表符完成以及类似内容的库。我正在寻找一个,但不能选择那么多(jLine- 无需 维护,java-readline- 2003年最新发行,其他?) 问题答案: 从命令行执行时,我已经使用JLine将历史记录等添加到Clojure REPL(JVM进程)中。它只是神奇地工作
问题内容: 如何用Java编写等效的代码? 问题答案: 您可能还希望将类本身公开,但这实际上是将字面量转换为Java。 C ++模板和Java泛型之间还有其他区别,但是对于您的示例,这些都不是问题。
我试图在Python3.7上创建一个图像(在Thonny上)。我想设置一个以灰色为单位的值的矩阵,所以0将是黑色,255将是白色。这个矩阵将代表我要创建的图像的像素。基本上,我想创建一个基于矩阵的黑白图像。下面是我的代码: 当我运行程序时,它说a是问题所在:“颜色必须是int或tuple”。 谢谢你的帮助,祝你有愉快的一天! 我试着用图像。来自Marray: 有了这个,我应该有一个图像50 x 8
本文向大家介绍用Python创建类,包括了用Python创建类的使用技巧和注意事项,需要的朋友参考一下 在类的语句创建一个新的类定义。该类的名称紧随关键字class之后紧跟一个冒号,如下所示- 该类具有一个文档字符串,可以通过ClassName .__ doc__访问。 class_suite由定义类成员,数据属性和函数的所有组件语句组成。 示例 以下是一个简单的Python类的示例- 变量emp
问题内容: 我正在寻找一种解决方案,可以从adb访问我们应用程序的内部状态以进行调试。我已经使用了dumpsys来获取系统服务的内部状态,所以现在我想知道是否可以将应用程序的接口公开到adb。到目前为止,我唯一想到的就是定期记录信息,然后只读取logcat,但如果可能的话,我希望能够通过adb直接与应用程序进行交互,因此问题是如何在我们的应用程序中实现此功能。 问题答案: 在您的覆盖方法中,例如:
本文向大家介绍Android实现头像上传功能,包括了Android实现头像上传功能的使用技巧和注意事项,需要的朋友参考一下 之前做这个头像上传功能还是花了好多时间的,今天我将我的代码分享给大家先看效果图 首先看上传图片的工具类,一点都没有少复制就可以用 从相册获取图片的方法 从系统相机拍照获取照片 调用系统裁剪工具裁剪图片 上传服务器的方法 重新服务器响应方法 重写这些方法需要实现接口 重写onA
本文向大家介绍基于JavaScript实现类似于百度学术高级检索功能,包括了基于JavaScript实现类似于百度学术高级检索功能的使用技巧和注意事项,需要的朋友参考一下 百度学术http://xueshu.baidu.com/高级检索是通过前台生成后台内部高级语法来实现高级检索的,可以通过前台js做字符串拼接传给后台实现,难度不大: 下面是高级检索的核心功能代码,我使用的是纯js实现,并未使用j