python生成倒计时图片_用Python自动化生成倒计时图片
根據書中的「操作圖像」章節內容,實現一個簡單又實用的小操作。
使用的模塊為Pillow,一個處理圖像文件的Pyhton模塊。
比如裁剪圖像、調整圖像大小、編輯圖像的內容等。
可以實現自動編輯成千上萬的圖像。
比如說一些圖片網站,你看圖時它是沒有水印的。
但是當你下載下來的時候,圖片便會加上萬惡的水印。
這其中恐怕和自動編輯脫離不了關系,畢竟不能人工去加水印吧...
本次利用Pillow庫,實現自動化生成倒計時圖片。
/ 01 / 科普
在進行代碼操作前,簡單對相關知識做個簡單的學習。
計算機程序通常將圖像中的顏色表示為RGBA值。
RGBA值是一組數字,指定顏色中的紅、綠、藍和alpha(透明度)的值。
這些值是從0(根本沒有)到255(最高)的整數。
這些RGBA值分配給單個像素,像素是計算機屏幕上能顯示一種顏色的最小點。
像素的RGB設置準確地告訴你應該顯示哪種顏色的色彩。
在Pillow中,RGBA值表示為四個整數值的元組。
比如紅色表示為(255, 0, 0, 255),其中alpha值最大,意味著完全不透明。
圖像像素用x和y坐標指定,分別指定像素在圖像中的水平和垂直位置。
原點是位于圖像左上角的像素,為(0, 0)
這里的示例圖使用的是驗證碼文章里的一張圖。
/ 02 / 生成圖片
圖片的生成其實挺簡單的,無非就是一個背景圖、一個線框還有幾個文本。
詳細代碼如下。
from?PIL?import?Image,?ImageDraw,?ImageFont
import?os
for?i?in?range(1,?22):
#?創建圖像,設置圖像大小及顏色
im?=?Image.new('RGBA',?(1000,?1800),?(166,?12,?4,?255))
draw?=?ImageDraw.Draw(im)
#?設置本次使用的字體
fontsFolder?=?'C:\Windows\Fonts'
font1?=?ImageFont.truetype(os.path.join(fontsFolder,?'華康儷金黑W8.TTF'),?420)
font2?=?ImageFont.truetype(os.path.join(fontsFolder,?'方正蘭亭刊黑.TTF'),?40)
#?計算各文本的放置位置
txtSize_1?=?draw.textsize('距?離?除?夕?夜',?font2)
pos_x_1?=?(1000?-?txtSize_1[0])?/?2
txtSize_2?=?draw.textsize('還?有',?font2)
pos_x_2?=?(1000?-?txtSize_2[0])?/?2
txtSize_3?=?draw.textsize('天',?font2)
pos_x_3?=?(1000?-?txtSize_3[0])?/?2
txtSize_4?=?draw.textsize('不?是?年?味?越?來?越?少',?font2)
pos_x_4?=?(1000?-?txtSize_4[0])?/?2
txtSize_5?=?draw.textsize('而?是?我?們?都?長?大?了',?font2)
pos_x_5?=?(1000?-?txtSize_5[0])?/?2
#?設置文本放置位置,居中
draw.text((pos_x_1,?200),?'距?離?除?夕?夜',?fill=(217,?217,?217,?255),?font=font2)
draw.text((pos_x_2,?300),?'還?有',?fill=(217,?217,?217,?255),?font=font2)
draw.text((pos_x_3,?1050),?'天',?fill=(217,?217,?217,?255),?font=font2)
draw.text((pos_x_4,?1350),?'不?是?年?味?越?來?越?少',?fill=(137,?183,?109,?255),?font=font2)
draw.text((pos_x_5,?1440),?'而?是?我?們?都?長?大?了',?fill=(137,?183,?109,?255),?font=font2)
#?繪制線框
draw.line([(20,?20),?(980,?20),?(980,?1780),?(20,?1780),?(20,?20)],?fill=(217,?217,?217,?255),?width=5)
#?設置變化的文本屬性
txtSize_6?=?draw.textsize(str(i),?font1)
pos_x_6?=?(1000?-?txtSize_6[0])?/?2
draw.text((pos_x_6,?500),?str(i),?fill=(137,?183,?109,?255),?font=font1)
#?im.show()
#?保存圖像
filename?=?'day'?+?str(i)?+?'.png'
im.save(filename)
相關字體文件已上傳網盤,公眾號回復「字體」即可獲取。
這里我不禁想起,阿里的鹿班設計。
通過人工智能技術,快速、批量、自動化的進行圖片設計。
一個據說能讓設計者失業的AI設計師。
這里又不得不膜拜一波了。
看了我的這點小九九,我...
/ 03 / 總結
本次的成果如下。
不知不覺,就快要過年了。
不知道大家回家的車票買到了沒有,希望大家都能買到。
小F也已把來回的車票搞定了。
家在哪,就向著哪個方向,團圓。
萬水千山總是情,點個「好看」行不行。
總結
以上是生活随笔為你收集整理的python生成倒计时图片_用Python自动化生成倒计时图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UDS的0x19服务介绍
- 下一篇: 领峰:现货贵金属预测,掌握市场行情做出准