思路:
1、畫一張白色的圖片(大小為:200*50)
2、逐個填充像素點,每個像素點隨機
3、往圖片上寫入字符
- 字符隨機生成
- 字符的顏色是隨機的
- 字符的組成:大寫字母、小寫字母以及數(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/驗證碼.png','PNG')
generatecode()
?
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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