思路:
1、畫一張白色的圖片(大小為:200*50)
2、逐個(gè)填充像素點(diǎn),每個(gè)像素點(diǎn)隨機(jī)
3、往圖片上寫入字符
- 字符隨機(jī)生成
- 字符的顏色是隨機(jī)的
- 字符的組成:大寫字母、小寫字母以及數(shù)字
from PIL import Image, ImageDraw, ImageFont
import numpy as np
def bgcolor():
return np.random.randint(64, 255), np.random.randint(64, 255), np.random.randint(64, 255)
def randomtxt():
txt_list = []
txt_list.extend([i for i in range(65,91)])
txt_list.extend([i for i in range(97,123)])
txt_list.extend([i for i in range(48,58)])
return chr(txt_list[np.random.randint(0, len(txt_list)-1)])
def txtcolor():
return np.random.randint(32, 127), np.random.randint(32, 127), np.random.randint(32, 127)
def generatecode():
width = 200
height = 50
image = Image.new('RGB', (width, height), (255, 255, 255))
draw = ImageDraw.Draw(image)
for w in range(width):
for h in range(height):
draw.point((w, h),fill=bgcolor())
myfont = ImageFont.truetype('arial.ttf', 36)
for i in range(4):
draw.text((50*i+10,10), randomtxt(), font=myfont, fill=txtcolor())
image.show()
image.save(r'./res/驗(yàn)證碼.png','PNG')
generatecode()
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
