本文實例講述了Python基于identicon庫創(chuàng)建類似Github上用的頭像功能。分享給大家供大家參考,具體如下:
Identicon在很多大型IT網(wǎng)站上可以見到,比如Github,Sourceforge,Stackoveflow等等, 剛剛注冊的賬號的個人信息的默認圖標都是一些看上去像七巧板拼湊的圖案,對稱又變化多端。
本人也是因為好奇才在網(wǎng)上搜了這個算法,主要是哈希算法,把郵箱或者IP的信息圖形化,很直觀。
這個算法有很多版本, php的, .net的, python的, ruby的, 因為咱們社區(qū)是python的, 所以這里給大家發(fā)一個python版本的.
使用示例:
1. 直接到 https://github.com/shnjp/identicon 下載identicon.py,
2. 將identicon.py放到你能找到的地方.
3. 然后在相同的目錄里新建一個test.py
4. 打開test.py
輸入以下代碼:
import identiconimg= identicon.render_identicon('123123', 16)img.show()這樣就能夠看到圖像了, 大小是3*16=48. 即圖片大小是48X48像素的尺寸.如果報錯了, 就是你沒有安裝python的圖像處理模塊PIL, 安裝之后再試.
保存圖像
上面的代碼只是簡單的使用, 還沒保存.保存代碼如下:
import identiconimg= identicon.render_identicon('123123', 16)img.save('123123.png')會在相同的目錄保存一個png格式的圖片
批量生成圖片
代碼如下:
import identicondef 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是一個數(shù)值, 或者字符串數(shù)值, 如果code比較大, 比如code=10000000, 生成的圖片就是彩色的. code比較小, 比如code=1~100之間的, 生成的圖片就是黑白色的.
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
新聞熱點
疑難解答