#coding=utf-8
import random #随机模块,可以生成随机数
from PIL import Image,ImageDraw,ImageFont,ImageFilter
#Image 负责处理图片
#ImageDraw 负责处理画笔
#Imagefont 负责处理字体
#ImageFilter 负责处理滤镜
#项目思路:
#1、定义一张图片
img=Image.new("RGB",(150,50),(255,255,255))
"""
第一个参数:代表我们采用的RGB颜色模式
第二个参数:代表图片大小
第三个参数:具体的图片颜色
"""
#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("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
c_chars = "".join(random.sample(font_list,7))
#random.sample是在制定的列表当中随机的取出指定个元素
#绘制字体
#我们需要先定制一下字体
font = ImageFont.truetype("simsun.ttc",32)
draw.text((5,5),c_chars,font=font,fill="green")
"""
第一个参数:代表文字的位置,距离上和左的距离
第二个参数:代表文字的内容
第三个参数:代表字体
第四个参数:字体颜色
"""
#5、定义扭曲的参数
params=[1-float(random.randint(1,2))/100,
0,
0,
0,
1-float(random.randint(1,2))/100,
float(random.randint(1,2))/500,
0.001,
float(random.randint(1,1))/500,
]
#6、使用滤镜
#添加滤镜
img=img.transform((150,50),Image.PERSPECTIVE,params)
"""
第一个参数:扭曲的范围
第二个参数:扭曲的样式
第三个参数:扭曲的参数
img.show()
import random #随机模块,可以生成随机数
from PIL import Image,ImageDraw,ImageFont,ImageFilter
#Image 负责处理图片
#ImageDraw 负责处理画笔
#Imagefont 负责处理字体
#ImageFilter 负责处理滤镜
#项目思路:
#1、定义一张图片
img=Image.new("RGB",(150,50),(255,255,255))
"""
第一个参数:代表我们采用的RGB颜色模式
第二个参数:代表图片大小
第三个参数:具体的图片颜色
"""
#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("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
c_chars = "".join(random.sample(font_list,7))
#random.sample是在制定的列表当中随机的取出指定个元素
#绘制字体
#我们需要先定制一下字体
font = ImageFont.truetype("simsun.ttc",32)
draw.text((5,5),c_chars,font=font,fill="green")
"""
第一个参数:代表文字的位置,距离上和左的距离
第二个参数:代表文字的内容
第三个参数:代表字体
第四个参数:字体颜色
"""
#5、定义扭曲的参数
params=[1-float(random.randint(1,2))/100,
0,
0,
0,
1-float(random.randint(1,2))/100,
float(random.randint(1,2))/500,
0.001,
float(random.randint(1,1))/500,
]
#6、使用滤镜
#添加滤镜
img=img.transform((150,50),Image.PERSPECTIVE,params)
"""
第一个参数:扭曲的范围
第二个参数:扭曲的样式
第三个参数:扭曲的参数
"""
#进行扭曲
img=img.filter(ImageFilter.EDGE_ENHANCE_MORE)img.show()