溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python怎么生成帶有表格的圖片

發布時間:2021-06-15 17:24:36 來源:億速云 閱讀:498 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關使用python怎么生成帶有表格的圖片,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

例如:

直接在html中寫一個table標簽,然后單獨把表格部分保存成圖片

或者是直接將excel中的內容保存成一個圖片

剛開始的思路,是直接生成一個帶有table標簽的html文件,然后將這個文件轉成圖片,經過查找資料發現需要安裝webkit2png,而這個庫又依賴其他的東西,遂放棄。

當初的目標是直接生成一個圖片,并且是只需要安裝python依賴庫就行,而不需要在系統層面安裝相應的依賴包

后來考慮使用Python的圖片處理庫Pillow,和生成表格式的庫prattytable,下面的圖片是最終生成的圖片效果

使用python怎么生成帶有表格的圖片

總體來說是分為兩個步驟:

使用prattytable將要展示的數據生成一個表格字符串

使用pillow,將生成的表格字符串寫入到圖片中

下面是具體實現:

from prettytable import PrettyTable
from PIL import Image, ImageDraw, ImageFont
tab = PrettyTable()
# 設置表頭
tab.field_names = ["Name", "Age","Country","City"]
# 表格內容插入
tab.add_row(['chal','23','中國','Shanghai'])
tab.add_row(['charle','29','China','Xuzhou'])
tab.add_row(['jack','32','United States','Washington'])
tab_info = str(tab)
space = 5

# PIL模塊中,確定寫入到圖片中的文本字體
font = ImageFont.truetype('/home/doge/YaHeiConsolas.ttf', 15, encoding='utf-8')
# Image模塊創建一個圖片對象
im = Image.new('RGB',(10, 10),(0,0,0,0))
# ImageDraw向圖片中進行操作,寫入文字或者插入線條都可以
draw = ImageDraw.Draw(im, "RGB")
# 根據插入圖片中的文字內容和字體信息,來確定圖片的最終大小
img_size = draw.multiline_textsize(tab_info, font=font)
# 圖片初始化的大小為10-10,現在根據圖片內容要重新設置圖片的大小
im_new = im.resize((img_size[0]+space*2, img_size[1]+space*2))
del draw
del im
draw = ImageDraw.Draw(im_new, 'RGB')
# 批量寫入到圖片中,這里的multiline_text會自動識別換行符
# python2
draw.multiline_text((space,space), unicode(tab_info, 'utf-8'), fill=(255,255,255), font=font)
# python3
# draw.multiline_text((space,space), tab_info, fill=(255,255,255), font=font)

im_new.save('12345.PNG', "PNG")
del draw

上述就是小編為大家分享的使用python怎么生成帶有表格的圖片了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女