久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

04
2023/02

python根據(jù)文字自動生成圖像

發(fā)布時間:2023-02-04 14:39:28
發(fā)布者:神棍子
瀏覽量:
0

本次主要用到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\\"

#圖片資源、文字資源的路徑

python

fontPath = imgFontpath+'font\\' #文字路徑

軟件開發(fā)

imagePath = imgFontpath+'image\\' #背景圖片路徑

軟件建設(shè)

#生成圖片目錄

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)

完整代碼如下

python根據(jù)文字自動生成圖像


關(guān)鍵詞:
返回列表