python -m pip install --upgrade pip 升级pip import random ##随机模块,可以产生随机数from PIL import Image,ImageDraw,ImageFont,ImageFilter'''PIL 需要通过pip install PIL 来安装Image 负责图片处理ImageDraw 负责处理画笔ImageFont 负责处理字体ImageFilter 负责处理滤镜'''#项目的思路: #1.定义一张图片img = Image.new("RGB",(150,50),(255,255,255))"""第一个参数:代表我们采用的颜色第二个参数:代表图片大小第三个参数:具体图片的颜色""" #2.创建画笔draw = ImageDraw.Draw(img) #3.绘制线条和点 #绘制线for i in range(random.randint(1,10)): draw.line( #在绘制线条时有个特色:每条线都有两个点,每个点靠X,y两个值来确定位置 [ (random.randint(1,150),random.randint(1,150)), (random.randint(1, 150), random.randint(1, 150)) ], fill = (0,0,0) ) #绘制点for i in range(1000): draw.point( [ random.randint(1,150), random.randint(1,150) ], fill = (0,0,0) ) #4.绘制我们的文字 #我们的文字时随机的 #一定的数字 #定义我们要生成的随机数字和字母font_list = list("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAMNBVCXZ0123456789")c_chars = "".join(random.sample(font_list,5))#绘制字体font = ImageFont.truetype("simsun.ttc",32)draw.text((5,5),c_chars,font = font,fill = "green")"""第一个参数:代表文字的位置,距离上和左的距离第二个参数:代表文字和内容第三个参数:字体和颜色"""#random.sample是在制定的列表当中随机的取出指定个元素 #5.定义扭曲的参数params = [ 1-float(random.randint(1,2))/100, 0, 0, 0, 1-float(random.randint(1,2))/100, float(random.randint(1,2))/50, 0.001, float(random.randint(1,2))/50] #6.使用滤镜 #添加滤镜img = img.transform((150,50),Image.PERSPECTIVE,params)"""第一个参数:扭曲的范围,第二个参数:扭曲的样式第三个参数:扭曲的参数""" #进行扭曲img = img.filter(ImageFilter.EDGE_ENHANCE_MORE)#调用img.show()