Python个人学习笔记 PIL.Image模块——图像处理
⑴ 获取图像属性
⑵ 调整尺寸
⑶ 截取图像
⑷ 图像覆盖
⑸ 修改单个像素点的RGB值
⑹ 图像旋转
⑺ 图像翻转

获取图像属性
⑴ image.filename
获取图片路径。
返回的图片路径与 open() 函数中图像的路径一致。
⑵ image.format
获取图片格式。
⑶ image.mode
获取颜色模式。
常见的有RGB、RGBA。
⑷ image.size
获取图像尺寸。
⑸ image.width / image.height
获取图像的图片长/宽。

调整尺寸
image.resize()
参数为宽和高的二元组。

截取图像
image.crop()
参数为左上和右下坐标的四元组 (x1,y1,x2,y2) 。
原图的最左上角坐标为(0,0)。可以用QQ截图量一下(0,0)到需要截取部分的左上角坐标和右下角坐标的宽和高。
或者量一下需要截取部分的宽高,用左上角坐标相加一下就是右下角坐标了。
注意先得把原图放到100%。

图像覆盖
image.paste()
就地将一张图像粘贴到另一张图像上。
可用于贴水印。
参数:
im:用于粘贴的图像。
box:粘贴的区域(左上右下坐标的四元组)。
mask(可选):指定遮罩图像的可选掩码(im只会显示在mask中的非透明区域)。
▲用来粘贴的图也要先用 Image.open() 打开。

修改单个像素点的RGB值
⑴ image.getpixel()
获取单个像素点的RGB值。返回一个RGB三元组。
参数为要获取颜色的像素点的坐标。
⑵ image.putpixel()
就地更改指定像素点的RGB值为指定值。
参数:
xy:指定像素点坐标。
value:指定RGB值。可以是三元组或整数。

图像旋转
image.rotate()
绕指定旋转中心逆时针旋转。
参数:
angle:旋转角度(角度制)。
expand(可选):是否扩展图片。默认为False,表示旋转后超出原尺寸的部分会被裁剪。
center(可选):指定旋转中心。默认为中心点。
fillcolor(可选):指定填充颜色。默认为(0,0,0)黑色。

图像翻转
image.transpose()
按指定参数翻转图像。
可以用 help() 查看具体参数。
Image.FLIP_LEFT_RIGHT:左右翻转。
Image.FLIP_TOP_BOTTOM:上下翻转。
Image.ROTATE_90:逆时针旋转90°。
Image.ROTATE_180:逆时针旋转180°。
Image.ROTATE_270:逆时针旋转270°。
Image.TRANSPOSE:沿主对角线翻转。
Image.TRANSVERSE:沿反对角线翻转。
从上到下分别对应0~6。可以用数字也可以用标志。

图片缩放器
随便写个粗制滥造的缩放器。(
tkinter库 pyautogui库 pyinstaller库