# 引用PTL图片
from PIL import Image
# 打开图片
image=Image.open('./image/1.JPG')
# 打印图片
print(image)
# 显示图片image.show()
# 打印图片的尺寸、模式、具体信息、格式化信息
print(image.size,image.mode,image.info,image.format)
# 保存/图片另存在其他的地方
image.save('./1.JPG')
# 导入过滤器模块,在图片上进行绘制,加载自定义字体
from PIL import Image,ImageFilter,ImageDraw,ImageFont
image=Image.open('./image/2.JPG')
# 更改图片尺寸
image_1=image.resize((1000,1000))
# 同比例缩放图片尺寸
image_2=image.resize((image.size[0]//3,image.size[1]//3))
# 把图片改为灰色系
image_3=image.convert('L')
# 对图片进行过滤操作
image_4=image.filter(ImageFilter.EMBOSS)
# 图片裁剪,需要设置边缘间距【left,upper,right,lower】
image_5=image.crop(box=(1000,1000,5000,5000))
# 图片旋转及设置旋转点,默认是中心旋转,更改旋转角度15度,以左上角为中心进行进行旋转
image_6=image.rotate(15,center=(0,0))
# 图片翻转,水平翻转及垂直翻转
# image_7=image.transpose(Image.FLIP_LEFT_RIGHT)#水平翻转
image_7=image.transpose(Image.FLIP_TOP_BOTTOM)#垂直翻转
# 给图片打马赛克
new_image=Image.open('./image/1.JPG').resize((1000,1000))#修改贴图尺寸
# image.paste(new_image)#贴图在左上角,默认位置
# image.paste(new_image,box=(image.size[0]-new_image.size[0],0))#给贴图在右上角
# image.paste(new_image,box=(0,image.size[1]-new_image.size[1]))#给贴图在左下角
# image.paste(new_image,box=(image.size[0]-new_image.size[0],image.size[1]-new_image.size[1]))#给贴图在右下角
#在图片上面绘制文字
image_draw=ImageDraw.Draw(image)#导入绘制的图片
#绘制文字text(位置(x,y),内容(不识别汉字),fill=颜色(RGB颜色值),font=字体)
# image_draw.text((100,100),'YANG') #默认不识别汉字
#创建字体,选择字体,同时设置字体大小
font=ImageFont.truetype('C:\Windows\Fonts\STXINWEI.TTF',500)
image_draw.text((100,100),'博客园',font=font,fill=(255,0,0))
#自定义图片
#创建一张图片,mode图片色系RGB或者灰色L;size图片大小;color设置图片底色,默认是黑色,设置rgb的值
img=Image.new('RGB',(1000,1000),(255,255,255))
ps_image=image.resize((500,500))
img.paste(ps_image,box=(0,0))
#利用双循环给创建的图片加上颜色块
draw_image=ImageDraw.Draw(img)
for x in range(img.size[1]//5):
for y in range(img.size[0]//10):
r=random.randint(0,255)
g=random.randint(0,255)
b=random.randint(0,255)
draw_image.rectangle((x,y,y,x),fill=(r,g,b))
img.show()