Python個人學習筆記 PIL.Image模塊——圖像處理
⑴ 獲取圖像屬性
⑵ 調(diào)整尺寸
⑶ 截取圖像
⑷ 圖像覆蓋
⑸ 修改單個像素點的RGB值
⑹ 圖像旋轉(zhuǎn)
⑺ 圖像翻轉(zhuǎn)

獲取圖像屬性
⑴?image.filename
獲取圖片路徑。
返回的圖片路徑與 open() 函數(shù)中圖像的路徑一致。
⑵?image.format
獲取圖片格式。
⑶?image.mode
獲取顏色模式。
常見的有RGB、RGBA。
⑷?image.size
獲取圖像尺寸。
⑸?image.width / image.height
獲取圖像的圖片長/寬。

調(diào)整尺寸
image.resize()
參數(shù)為寬和高的二元組。

截取圖像
image.crop()
參數(shù)為左上和右下坐標的四元組 (x1,y1,x2,y2) 。
原圖的最左上角坐標為(0,0)??梢杂肣Q截圖量一下(0,0)到需要截取部分的左上角坐標和右下角坐標的寬和高。
或者量一下需要截取部分的寬高,用左上角坐標相加一下就是右下角坐標了。
注意先得把原圖放到100%。

圖像覆蓋
image.paste()
就地將一張圖像粘貼到另一張圖像上。
可用于貼水印。
參數(shù):
????im:用于粘貼的圖像。
????box:粘貼的區(qū)域(左上右下坐標的四元組)。
????mask(可選):指定遮罩圖像的可選掩碼(im只會顯示在mask中的非透明區(qū)域)。
▲用來粘貼的圖也要先用?Image.open() 打開。

修改單個像素點的RGB值
⑴?image.getpixel()
獲取單個像素點的RGB值。返回一個RGB三元組。
參數(shù)為要獲取顏色的像素點的坐標。
⑵?image.putpixel()
就地更改指定像素點的RGB值為指定值。
參數(shù):
????xy:指定像素點坐標。
????value:指定RGB值。可以是三元組或整數(shù)。

圖像旋轉(zhuǎn)
image.rotate()
繞指定旋轉(zhuǎn)中心逆時針旋轉(zhuǎn)。
參數(shù):
????angle:旋轉(zhuǎn)角度(角度制)。
????expand(可選):是否擴展圖片。默認為False,表示旋轉(zhuǎn)后超出原尺寸的部分會被裁剪。
????center(可選):指定旋轉(zhuǎn)中心。默認為中心點。
????fillcolor(可選):指定填充顏色。默認為(0,0,0)黑色。

圖像翻轉(zhuǎn)
image.transpose()
按指定參數(shù)翻轉(zhuǎn)圖像。
可以用 help() 查看具體參數(shù)。
Image.FLIP_LEFT_RIGHT:左右翻轉(zhuǎn)。
Image.FLIP_TOP_BOTTOM:上下翻轉(zhuǎn)。
Image.ROTATE_90:逆時針旋轉(zhuǎn)90°。
Image.ROTATE_180:逆時針旋轉(zhuǎn)180°。
Image.ROTATE_270:逆時針旋轉(zhuǎn)270°。
Image.TRANSPOSE:沿主對角線翻轉(zhuǎn)。
Image.TRANSVERSE:沿反對角線翻轉(zhuǎn)。
從上到下分別對應(yīng)0~6??梢杂脭?shù)字也可以用標志。

圖片縮放器
隨便寫個粗制濫造的縮放器。(
tkinter庫 pyautogui庫 pyinstaller庫