處于某些業(yè)務(wù)需求需要對一些特定的圖片增加水印,于是去了解了PIL這個(gè)庫,可以完美的解決這個(gè)問題
from PIL import Image, ImageDraw, ImageFont
imageFile = "./image/two.jpg"
imageInfo = Image.open(imageFile)
fontOne = ImageFont.truetype("?C:\Windows\Fonts\simfang.ttf", 100)
fontTwo = ImageFont.truetype("?C:\Windows\Fonts\simfang.ttf", 100)
draw = ImageDraw.Draw(imageInfo)
print(imageInfo.size)
draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2), u"這是一個(gè)測試圖片", fill=(255, 0, 0), font=fontOne)
draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2 + 300), u"等會(huì)去看電影", fill=(134, 153, 153), font=fontOne)
imageInfo.show()
# imageInfo.save(r"./image/target01.JPG")
print("success")
代碼很簡單,下面具體講講上面每個(gè)方法的使用以及參數(shù)的意義:
from PIL import Image, ImageDraw, ImageFont # 從PIL中導(dǎo)包
imageFile
:需要添加文字的圖片地址(可以是相對地址也可以是絕對地址)
imageInfo = Image.open(imageFile)
:使用
image.open()
打開圖像
fontOne = ImageFont.truetype("?C:\Windows\Fonts\simfang.ttf", 100) # 水印使用系統(tǒng)字體
fontTwo = ImageFont.truetype("?C:\Windows\Fonts\simfang.ttf", 100) # 水印使用系統(tǒng)字體
使用
draw = ImageDraw.Draw(imageInfo)
實(shí)例化一個(gè)可寫對象
draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2), u"這是一個(gè)測試圖片", fill=(255, 0, 0), font=fontOne) # 水印加載的位置
draw.text((imageInfo.size[0] / 2, imageInfo.size[1] / 2 + 300), u"等會(huì)去看電影", fill=(134, 153, 153), font=fontOne)
-
xy: 表示文字寫入圖片中的位置(注意:這里的坐標(biāo)需為一個(gè)元組)
-
text: 加到圖片上的文字
-
fill: 水印文字的顏色(范圍:0-255,0-255,0-255)
-
font: 水印使用的自已
imageInfo.show(): 預(yù)覽圖片 imageInfo.save(r"./image/target01.JPG"):保存加入水印的圖片
更多關(guān)于PIL庫的使用參照PIL的用法
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
