本次主要用到PIL庫,該庫中包含了圖像旋轉(zhuǎn)、改變大小、格式轉(zhuǎn)化、圖像增強(qiáng)等許多圖像處理功能。
安裝方法:
pip install pillow
(如遇安裝不成功,需要先升級pip 在重試操作)
安裝成功后可在命令行嘗試輸入form PIL import Image 查看是否成功
首先需要引入相關(guān)包:
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
import os
import random
import time
import sys
設(shè)置路徑變量
imgFontpath = r"F:\\project\\python" #主路徑
imgFontpath += "\\imgFont\\"
#圖片資源、文字資源的路徑
fontPath = imgFontpath+'font\\' #文字路徑
imagePath = imgFontpath+'image\\' #背景圖片路徑
#生成圖片目錄
cacheImagePath = imgFontpath +'cache\\'
取出資源路徑中的所有資源文件名且隨機(jī)選中一個文字和一張背景圖片
fontListArr = os.listdir(fontPath)
imageListArr = os.listdir(imagePath)
#取出文件夾中所有文件名
fontRandomIndex = random.randint(0,len(fontListArr)-1)
imageRandomIndex = random.randint(0,len(imageListArr)-1)
#生成隨機(jī)數(shù)
imageFilePath = imageListArr[imageRandomIndex]
fontFilePath = fontListArr[fontRandomIndex]
#取隨機(jī)資源
打開圖片資源
imgOpenObj = Image.open(imagePath+imageFilePath)
根據(jù)畫布大小設(shè)置字體
fontSize = random.randint(int(imgOpenObj.height/10),int(imgOpenObj.width/10/2)) #字體大小
fontOpenObj = ImageFont.truetype(fontPath+fontFilePath, fontSize)
fontPosition = (fontSize,random.randint(0,20))
fontColor = (255,255,255)#字體顏色
填寫要生成的文字
textContent = “平臺商城系統(tǒng)模式軟件技術(shù)開發(fā)服務(wù)商”
考慮到圖片換行問題將文字自動換行
LineFontLength = int((imgOpenObj.width - fontPosition[0]) / fontSize)
#一行有幾個字
TotalLineLength = int(len(textContent) / LineFontLength)+1 #總行數(shù)
#循環(huán)插入換行符
def StringInsertStrIndex(oldText,InsertIndex,InsertStr):
t1 = list(oldText)
t1.insert(InsertIndex,InsertStr) # 1的位置插入'e'
s1_new = ''.join(t1) # 連接起來
return s1_new
for i in range(TotalLineLength):
textContent = StringInsertStrIndex(textContent,(LineFontLength*i),'\n')
打開畫布設(shè)置資源
drawImage = ImageDraw.Draw(imgOpenObj)
drawImage.text(fontPosition, textContent, fontColor, font=fontOpenObj)
填寫生成文件名稱
imgFileName=”平臺商城系統(tǒng)模式軟件技術(shù)開發(fā)服務(wù)商”
保存圖片
imgFileName += '.jpg'
imgFilePath = r''+cacheImagePath+""+imgFileName;
# imgOpenObj.show() #預(yù)覽圖片
imgOpenObj.save(imgFilePath)
完整代碼如下