iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
佛心分享-IT 人自學之術

從0開始學PYTHON系列 第 30

Day 30 基本影像處理

  • 分享至 

  • xImage
  •  

第十四章講述了基本的影像處理,透過 Pillow 程式庫來建立縮圖以及替影像加上浮水印。

Pillow 程式庫的 Image 模組函式:

open():開啟檔案
new():新建影像
paste():貼上影像
thumbnail():縮小影像
show():顯示影像
save():儲存影像
size:尺寸屬性

建立縮圖

以下是如何使用 Pillow 建立縮圖的範例:
from PIL import Image

# 設定縮圖的最大尺寸 (寬, 高)
thumb_size = (600, 600)

# 讀取指定路徑的圖檔
img = Image.open('img/pic.jpg')

# 縮小影像
img.thumbnail(thumb_size)

# 確認縮小後的影像尺寸
print(img.size)  # 範例輸出:(600, 399)

# 檢視影像
img.show()

# 儲存縮圖,並設定 JPEG 品質
img.save('path_to_save/thumbnail.jpg', quality=80)

quality:參數介於 0~100,數字越大,JPEG 的品質越高,但檔案也會較大。

替影像加上浮水印

以下是如何在影像上加上浮水印的範例:
from PIL import Image

# 讀入主圖和浮水印圖
img = Image.open('img/pic.jpg')
logo = Image.open('img/swf_Logo.png')

# 取得主圖和浮水印的寬高
img_w, img_h = img.size
logo_w, logo_h = logo.size

# 計算浮水印的位置 (右下角,距離邊緣 20px)
x = img_w - logo_w - 20
y = img_h - logo_h - 20

# 貼上浮水印,第三個參數使用遮色片來處理透明度
img.paste(logo, (x, y), logo)

# 顯示和儲存最終影像
img.show()
img.save('path_to_save/watermarked_image.jpg')

paste():第三個參數是遮色片,會自動處理浮水印的透明區域。


上一篇
Day29 聊天機器人(3)
系列文
從0開始學PYTHON30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言