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

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