python生成隨機圖形驗證碼

使用python生成隨機圖形驗證碼置逻,需要使用pillow模塊

  1. 安裝pillow模塊

pip install pillow
  1. pillow模塊的基本使用

from PIL import Image,ImageDraw,ImageFont
#使用Image類來實例化一個長為400px鸣剪,寬為400px,基于RGB的(255,255,255)顏色的圖片
img = Image.new(mode="RGB",size=(400,400),color=(255,255,255))
#創(chuàng)建畫筆,用于生成圖片生的內(nèi)容
draw = ImageDraw.Draw(img,mode="RGB")
draw.point([80,80],fill=(0,0,0))
#在(100,100)坐標上生成一個紅點,指定的坐標不能超過圖片的尺寸
draw.point([300,250],fill="red")
draw.line((100,100,100,300),fill="red")
draw.line((100,200,200,100),fill="blue")

#不是生成的圖片保存為png格式
with open("pic.png","wb")as f:
    img1.save(f,format="png")

#顯示圖片
img.show()
創(chuàng)建畫筆
draw = ImageDraw.Drwa(img,mode="mode")
在圖片上生成點
#在(100行瑞,100)坐標生生成一個紅點
#注:定義的點的坐標不能超過圖片尺寸
draw.point([100,100],fill="red")
在圖片生畫直線
#第一個括號里面的參數(shù)是坐標,前兩個數(shù)為開始坐標,后兩個數(shù)為結(jié)束坐標
#括號里的第二個參數(shù)指定顏色,可以直接指定,也可以用RGB來表示顏色
draw.line((100,100,100,300),fill="red")
draw1.line((100,200,200,100),fill="black")
IBagJ.png
在圖片生畫一個圓
#括號里的第一個參數(shù)是坐標,前兩個是起始坐標,后倆個是結(jié)束坐標
#大括號里的第二個參數(shù)是開始角度蔓同,第三個是結(jié)束角度0到360
drwa.arc((100,100,300,300),0,360,fill="red")
drwa.arc((0,0,300,300),0,90,fill="blue")
IBCa6.png
在圖片上寫文本
#第一個參數(shù)為坐標,第二個參數(shù)為所有生成的文本的內(nèi)容
#第三個參數(shù)為文本的顏色
draw.text([0,0],"python","blue")
IBUJK.png
在圖片上指定的字體生成文本
#實例化一個字體對象,第一個參數(shù)字體的路徑第二個參數(shù)字體大小
font1 = ImageFont.truetype("UKIJtuz.ttf",29)
draw.text([200,200],"linux","red",font=font1)
IBkQa.png
圖片驗證碼的實現(xiàn)
import random

# 導(dǎo)入Image,ImageDraw,ImageFont模塊
from PIL import Image, ImageDraw, ImageFont

# 定義使用Image類實例化一個長為120px,寬為30px,基于RGB的(255,255,255)顏色的圖片
img1 = Image.new(mode="RGB", size=(120, 30), color=(255, 255, 255))

# 實例化一支畫筆
draw1 = ImageDraw.Draw(img1, mode="RGB")

# 定義要使用的字體
font1 = ImageFont.truetype("UKIJTuz.ttf", 28)

for i in range(5):
   # 每循環(huán)一次,從a到z中隨機生成一個字母或數(shù)字
   # 65到90為字母的ASCII碼,使用chr把生成的ASCII碼轉(zhuǎn)換成字符
   # str把生成的數(shù)字轉(zhuǎn)換成字符串
   char1 = random.choice([chr(random.randint(65, 90)), str(random.randint(0, 9))])

   # 每循環(huán)一次重新生成隨機顏色
   color1 = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))

   
   # 圖片長度為120px,要生成5個數(shù)字或字母則每添加一個,其位置就要向后移動24px
   draw1.text([i * 24, 0], char1, color1, font=font1)

# 把生成的圖片保存為"pic.png"格式
with open("picb.png", "wb") as f:
   img1.save(f, format="png")
IBwce.png

每次運行,程序在程序的同級目錄會生成一個包含隨機字符的小圖片.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹲诀,一起剝皮案震驚了整個濱河市斑粱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脯爪,老刑警劉巖则北,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痕慢,居然都是意外死亡尚揣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門掖举,熙熙樓的掌柜王于貴愁眉苦臉地迎上來快骗,“玉大人,你說我怎么就攤上這事塔次》嚼海” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵励负,是天一觀的道長藕溅。 經(jīng)常有香客問我,道長继榆,這世上最難降的妖魔是什么巾表? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任汁掠,我火速辦了婚禮,結(jié)果婚禮上集币,老公的妹妹穿的比我還像新娘调塌。我一直安慰自己,他們只是感情好惠猿,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布羔砾。 她就那樣靜靜地躺著,像睡著了一般偶妖。 火紅的嫁衣襯著肌膚如雪姜凄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天趾访,我揣著相機與錄音态秧,去河邊找鬼。 笑死扼鞋,一個胖子當著我的面吹牛申鱼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播云头,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捐友,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了溃槐?” 一聲冷哼從身側(cè)響起匣砖,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昏滴,沒想到半個月后猴鲫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡谣殊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年拂共,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姻几。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡宜狐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鲜棠,到底是詐尸還是另有隱情肌厨,我是刑警寧澤培慌,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布豁陆,位于F島的核電站,受9級特大地震影響吵护,放射性物質(zhì)發(fā)生泄漏盒音。R本人自食惡果不足惜表鳍,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望祥诽。 院中可真熱鬧譬圣,春花似錦、人聲如沸雄坪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽维哈。三九已至绳姨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阔挠,已是汗流浹背飘庄。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留购撼,地道東北人跪削。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像迂求,于是被迫代替她去往敵國和親碾盐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理揩局,服務(wù)發(fā)現(xiàn)廓旬,斷路器,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評論 25 707
  • 上周末,和二姐(她又二年紀又比我大十气,簡稱二姐)有約 來廣州的每個周末基本都會聚一次励背,這次我們是去惠州的大南山徒步,...
    游女喬木子閱讀 588評論 0 2
  • 來香港之前就看到網(wǎng)上轉(zhuǎn)帖砸西,說這家百年老店來香港開首個分店了叶眉。來尖沙咀逛街,當然不能錯過芹枷。逛街累了正是坐下吃甜品的好...
    03b997087522閱讀 660評論 0 1
  • 這一天衅疙,我像一只陀螺,不停地轉(zhuǎn)著…… 早上鸳慈,“好好做父母”讀書會的導(dǎo)讀饱溢,三個小時,一刻不停走芋,因為是效能訓(xùn)練绩郎,除了閱...
    上午咖啡下午茶閱讀 323評論 2 6