欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3使用PIL添加中文文本水印背景方法詳解

 更新時(shí)間:2023年07月05日 08:44:54   作者:Mike_Zhang  
這篇文章主要介紹了python3使用PIL添加中文文本水印背景方法詳解的相關(guān)資料,需要的朋友可以參考下

環(huán)境:Windows10_x64 

Python版本 :3.9.2

Pillow版本:9.1.1

寫(xiě)的博客文章被轉(zhuǎn)載且不注明出處的情況時(shí)有發(fā)生,甚至有部分轉(zhuǎn)載者將文章配圖添加自己的水??!為了保護(hù)作者勞動(dòng)成果,添加水印是一個(gè)可選項(xiàng)。

今天記錄下Windows10環(huán)境下使用python3.9簡(jiǎn)單實(shí)現(xiàn)批量添加中文文本水印背景的過(guò)程,并提供示例代碼

一、背景描述

python的PIL庫(kù)可進(jìn)行圖片處理,十分強(qiáng)大,可使用該庫(kù)實(shí)現(xiàn)圖片添加水印背景的需求。

可通過(guò)pip進(jìn)行安裝(默認(rèn)安裝最新版),命令如下:

pip install Pillow

pypi地址: https://pypi.org/project/Pillow/

文檔地址: https://pillow.readthedocs.io/en/stable/

二、具體實(shí)現(xiàn)

這里列舉下實(shí)現(xiàn)文本水印背景的關(guān)鍵點(diǎn)。

1、生成文本背景

可通過(guò)ImageDraw.text實(shí)現(xiàn):

https://pillow.readthedocs.io/en/stable/reference/ImageDraw.html

中文文本可通過(guò)設(shè)置正確的字體實(shí)現(xiàn):

font = ImageFont.truetype("simsun.ttc", fontSize,encoding="utf-8")

文本顏色可通過(guò)RGB值設(shè)置,示例如下:

fill=(106,106,106)

2、旋轉(zhuǎn)文本

 可通過(guò)rotate函數(shù)實(shí)現(xiàn):

https://pillow.readthedocs.io/en/stable/reference/Image.html

 3、設(shè)置水印

可通過(guò)Image.paste函數(shù)實(shí)現(xiàn):

https://pillow.readthedocs.io/en/stable/reference/Image.html

 4、生成水印背景

1)需要通過(guò)循環(huán)控制,多次設(shè)置背景圖片;

i,j = 0,0
while True:
    x,y = i*step,i*step
    if y < height : 
        x = 0
    if y > height : 
        x = j*step
        j = j + 1
        y = height - 10
    #print(i,"xy :",x,y)
    draw_text(img,(x,y),fill,mask,rotated_mask)
    if (x + step > width ) and (y + step > height ) : break
    i = i + 1

2)導(dǎo)出時(shí)需要添加質(zhì)量參數(shù),避免導(dǎo)出的圖片失真;

img.save(dstFile,optimize=True, quality=100)

5、多進(jìn)程加速

批量添加文本水印背景時(shí),可使用進(jìn)程池進(jìn)行加速。

pool = Pool(processes=8)    # set the processes max number 
for root, dirs, files in os.walk(srcDir):
    for name in files:
        srcFile = os.path.join(root, name)
        dstFile = os.path.join(dstDir, name)
        print("%s => %s" % (srcFile,dstFile))
        # add_watermark(srcFile,dstFile,fontSize,myText,angle,fill,step)
        result = pool.apply_async(add_watermark,(srcFile,dstFile,fontSize,myText,angle,fill,step))
pool.close()
pool.join()

 

三、運(yùn)行效果

這里演示下python3使用PIL添加中文文本水印背景的運(yùn)行效果,具體如下:

四、資源下載

到此這篇關(guān)于python3使用PIL添加中文文本水印背景方法詳解的文章就介紹到這了,更多相關(guān)python3使用PIL添加水印背景內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決usageerror: line magic function "%%time" not found問(wèn)題

    解決usageerror: line magic function "

    這篇文章主要介紹了解決usageerror: line magic function "%%time" not found問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 使用Selenium破解新浪微博的四宮格驗(yàn)證碼

    使用Selenium破解新浪微博的四宮格驗(yàn)證碼

    今天小編就為大家分享一篇關(guān)于使用Selenium破解新浪微博的四宮格驗(yàn)證碼的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • Python列表切片常用操作實(shí)例解析

    Python列表切片常用操作實(shí)例解析

    這篇文章主要介紹了Python列表切片常用操作實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python實(shí)現(xiàn)摳圖給證件照換背景源碼

    python實(shí)現(xiàn)摳圖給證件照換背景源碼

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)摳圖給證件照換背景源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python數(shù)學(xué)建模之Matplotlib?實(shí)現(xiàn)圖片繪制

    python數(shù)學(xué)建模之Matplotlib?實(shí)現(xiàn)圖片繪制

    這篇文章主要介紹了python數(shù)學(xué)建模之Matplotlib?實(shí)現(xiàn)圖片繪制,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Python+mpld3實(shí)現(xiàn)交互式Matplotlib圖表

    Python+mpld3實(shí)現(xiàn)交互式Matplotlib圖表

    通過(guò)結(jié)合使用Matplotlib和mpld3庫(kù),我們可以輕松地創(chuàng)建交互式圖表,使得數(shù)據(jù)可視化更加生動(dòng)和易于理解,下面就跟隨小編一起來(lái)學(xué)習(xí)一下具體實(shí)現(xiàn)方法吧
    2024-10-10
  • 打包Python代碼的常用方法小結(jié)

    打包Python代碼的常用方法小結(jié)

    Python是一門(mén)強(qiáng)大的編程語(yǔ)言,但在將Python代碼分享給其他人時(shí),讓他們安裝Python解釋器并運(yùn)行腳本可能有點(diǎn)繁瑣,這時(shí),將Python代碼打包成可執(zhí)行的應(yīng)用程序(.exe)可以大大簡(jiǎn)化這個(gè)過(guò)程,本文將介紹幾種常用的方法,輕松地將Python代碼變成獨(dú)立的可執(zhí)行文件
    2023-11-11
  • python numpy之np.random的隨機(jī)數(shù)函數(shù)使用介紹

    python numpy之np.random的隨機(jī)數(shù)函數(shù)使用介紹

    這篇文章主要介紹了python numpy之np.random的隨機(jī)數(shù)函數(shù)使用介紹,需要的朋友可以參考下
    2019-10-10
  • 使用python BeautifulSoup庫(kù)抓取58手機(jī)維修信息

    使用python BeautifulSoup庫(kù)抓取58手機(jī)維修信息

    這篇文章主要介紹了一個(gè)使用python抓取58手機(jī)的精準(zhǔn)商家信息,使用BeautifulSoup API的方法
    2013-11-11
  • 淺談numpy中函數(shù)resize與reshape,ravel與flatten的區(qū)別

    淺談numpy中函數(shù)resize與reshape,ravel與flatten的區(qū)別

    這篇文章主要介紹了淺談numpy中函數(shù)resize與reshape,ravel與flatten的區(qū)別介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06

最新評(píng)論