【PIL】Python自動將圖片加上浮水印及LOGO
一、前言
常常遇到要將一堆圖片加上浮水印或LOGO嗎?
去外面網站上傳有限制,而且還又收費,
重點是還要調大小、位置及透明度等等問題,
其實用Python就可以輕易達到了,
而且還免費自動上浮水印及logo,簡單程式碼帶大家看到好。
進入基本教學前,不要忘了訂閱按讚分享唷!
部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ
二、免費為圖片自動加上浮水印或LOGO
本次的概念是這樣的,我有一張ASHLIFE.png的主圖,還有一張logo.png的浮水印,
要自動加在右下角,而且還要調整透明度及縮放比例,最終變成after.png那樣,如下顯示。
如果要打開小畫家還是等等編輯裝置耗時,又不能做迴圈大量調整,這時候就可以用PIL套件。
(完整程式碼教學在最下面)
# NASHLIFE.png
# logo.png
# after.png
三、Python加上浮水印
Python免費自動加上浮水印及logo,這邊把整個程式碼包成一個def,這樣之後如果有大量圖片就可以用迴圈大量處理。
from PIL import Image, ImageDraw
def add_logo(image, logo, alpha=150, size=6): # image 圖片 logo你的logo
rgba_image = image.convert('RGBA')
rgba_logo = logo.convert('RGBA')
image_x, image_y = rgba_image.size
logo_x, logo_y = rgba_logo.size
# 縮放圖片
logo_size = max(image_x / (size * logo_x), image_y / (size * logo_x))
new_logo_size = (int(logo_x * logo_size), int(logo_y * logo_size))
rgba_logo = rgba_logo.resize(new_logo_size, resample=Image.ANTIALIAS)
# 透明度
rgba_logo.putalpha(alpha)
logo_x, logo_y = rgba_logo.size
# 水印位置
margin = 15
rgba_image.paste(rgba_logo, (image_x - logo_x - margin, image_y - logo_y - margin)) # 右下角
return rgba_image
image = Image.open("NASHLIFE.png")
#im_before.show()
logo = Image.open("logo.png")
im_after = add_logo(image, logo, 150, 6)
im_after.show()
rgba_image = image.convert('RGBA') 轉成RGBA含有透明度的
image_x, image_y = rgba_image.size 取得圖片的 x y大小
logo_size = max(image_x / (size * logo_x), image_y / (size * logo_x)) 取得相對主圖的比例
rgba_logo.putalpha(alpha) 設置透明度
rgba_image.paste 在主圖貼上其他圖片(這邊是logo) 裡面放其他圖片及主圖的絕對位置
im_after.show() 直接顯示,不然也可以save存出
四、後記
Python也能變成修圖神器!
部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ
留言列表