PIL (Python Imaging Library) 現由 Pillow 維護,提供豐富影像處理功能。
from PIL import Image, ImageDraw, ImageEnhance
class MyImg:
def __init__(self, open_file, save_file):
self.img = Image.open(open_file)
self.save_file = save_file
def change_size(self, percent=100, height=None, width=None):
w, h = self.img.size
if not (height and width):
new_img = self.img.resize((w*percent//100, h*percent//100), Image.BILINEAR)
else:
new_img = self.img.resize((width, height), Image.BILINEAR)
new_img.save(self.save_file)
def rotation(self, angle):
self.img.rotate(angle).save(self.save_file)
def save_as(self, filename):
self.img.save(filename) # 依副檔名決定格式
def draw_shapes(self):
draw = ImageDraw.Draw(self.img)
w, h = self.img.size
draw.line((0, 0, w-1, h-1), fill=255)
draw.line((0, h-1, w-1, 0), fill=255)
draw.arc((0, 0, w-1, h-1), 0, 360, fill=255)
self.img.save(self.save_file)
def enhance(self):
ImageEnhance.Brightness(self.img).enhance(2.0).save(self.save_file)
ImageEnhance.Sharpness(self.img).enhance(7.0).save(self.save_file)
ImageEnhance.Contrast(self.img).enhance(2.0).save(self.save_file)
原圖:
銳化後:

Image:核心開啟/儲存/幾何變換ImageDraw:向量繪圖ImageEnhance:亮度/銳度/對比度調整ImageFilter:模糊/銳化/邊緣偵測等濾鏡