图片模块
ImageEnhance模块
调整图像色彩
from PIL import Image,ImageEnhance
img = Imge.open('b.jpg')
w,h = img.size
img_output = Image.new('RGB',(3*w,h)
# 将原图复制到(0,0)
img.color = ImageEnhance.Color(img,(0,0))
# 获取色彩调整器
img.color = ImageEnhance.Color(img)
imgb = img_color.enhance(1,5)
img_output.paste(imgb,(w,0))
# 减弱色彩
imgc = img_color.enhance(0.5)
img_output.paste(img,(2*w,0))
img.ouput.show()
调整图像亮度
from PIL import Image,ImageEnhance
img = Imge.open('b.jpg')
w,h = img.size
img_output = Image.new('RGB',(3*w,h)
# 将原图复制到(0,0)
img_color = ImageEhance.Color(img,(0,0))
# 获取亮度调整器
img.color = ImageEnhance.Brightness(img)
imgb = img_color.bright(1.5)
img_output.paste(imgb,(w,0))
# 减弱亮度
imgc = img_color.enhance(0.5)
img_output.paste(img,(2*w,0))
img.ouput.show()
调整像素点对图像变亮变暗
from PIL import Image,ImageEnhance
img = Imge.open('b.jpg')
w,h = img.size
img_output = Image.new('RGB',(3*w,h)
img_output.paste(img,(0,0))
# 使用point()函数对像素点进行运算
# 图像整体变暗
imgb = img.point(lambda i:i*1.4)
# 图像整体变暗
imgc = img.point(lambda i:i*0.3)
img_output.paste(imgb,(w,0))
img_output.paste(imgc,(2*w,0))
img_output.show()
ImageDraw 模块
# 创建图片绘制
from PIL import Image,ImageDraw
# 创建一副白色图像
img = Image.new('RGB',(300,200),'white')
# 绘制一个矩形
draw_obj = ImageDraw.Draw(img)
draw_obj.rectangle(50,50,150,150).fill('blue',outline='red')
# draw_obj.text((80,80),'bjsxt',filll='green')
font= ImageFont.truetype('SIMLI.TTF',20)
draw_obj.text((80,80),'jishf',font = font,fill='white')
img.show()
在原有图片上进行绘制
from PIL import Image,ImageEnhance
img = Imge.open('b.jpg')
# 创建绘图对象
draw_obj=ImageDraw.Draw(img)
draw_obj.arc((0,0,width-1,height-1),0,360,fill='blue')
ImageFont模块
from PIL import Image,ImageFont
img = Imge.open('b.jpg')
print(img.size)
draw_obj = ImageDraw.Draw(img)
font = ImageFont.load_default()
draw_obj.text((30,10),'bfdje',font=font,fill='white')
font = ImageFont.trueytpe('fdhfug',18)
draw_obj.text((30,30),'bfdje',font=font,fill='white')
font = ImageFont.trueytpe('fdhfug',18)
draw_obj.text((30,60),'bfdje',font=font,fill='white')
font = ImageFont.trueytpe('fdhfug',18)
img.show()
绘制十字
from PIL import Image,ImageDraw
img = Imge.open('b.jpg')
draw_obj=ImageDraw.Draw(img)
w,h = img.size
draw_obj.line((0,0,w,h),fill=(255,255,0),width=3)
draw_obj.line((0,h,w,0),fill=(255,255,0),width=3)
img.show()
绘制验证码
from PIL import Image,ImageDraw,ImageFont
import random
width,height=100,100
img = Image.new('RGB',(width,height),(255,255,255))
# 获取draw_obj对象
draw_obj = ImageDraw(img)
def get_color():
return (random.randint(200,255),random.randint(200,255),random.randint(200,255)
for x in range(width):
for y in range(height):
draw_obj.point(x,y),fill=get_color())
# 生成随机字母
def get_char():
return chr(random.randint(65,97))
font=ImageFont.truetype('simsun.ttc',30)
# 绘制随机字母
for i in range(4);
draw_obj.text((20+i*20,40),get_char(),font=font,fill=(255,0,0))
# 绘制干扰线
draw_obj.line((0,0,100,100),fill='green',width=5)
img.show()