本篇 ShengYu 將介紹如何使用 Python 來製作圖片縮圖,這邊我們使用 python 的 PIL 模組來製作圖片的縮圖。
安裝 PIL
基本上新版本的 Python 應該都有內建 PIL,如果還未安裝 PIL 的話請參考這篇。
使用範例
以下範例 ShengYu 是將 lena.jpg 這張圖片透過 thumbnail() 作縮圖,之後顯示並且存檔。
1 | #!/usr/bin/env python3 |
結果如下圖所示:
左邊為原圖,右邊為縮放後的圖。
thumbnail 和 resize 的差異
先前介紹過 resize 圖片縮放怎麼使用了,在這篇使用 thumbnail 作圖片縮圖,怎麼這兩個有點像呢?是不是 thumbnail 內部就是使用 resize 呢?
thumbnail() 跟 resize() 的不同處是,resize() 可以放大跟縮小,且可以不等比例縮放,而 thumbnail() 只能縮小,且只能等比例縮小,依據輸入參數裡的最短邊為主。
例如,我故意使用 Image.thumbnail((256, 200)),最後是縮成200x200的大小。
故意使用 Image.thumbnail((600, 600)),最後是縮成512x512的大小。
thumbnail() 會修改物件本身的的影像,而不像 resize() 是產生一個新的影像物件,所以速度會比 Image.resize() 快。
Image.thumbnail 參數的詳細細節請參考這裡
相關主題
Python 縮放圖片 resize
Python 圖片模糊化 blur
Python 旋轉圖片 rotate
Python 裁切裁剪圖片 crop
Python 在圖片上繪製文字