用Python寫個新年賀卡生成器

前言
離過年還有十多天,在這里提前祝各位小伙伴新年快樂呀~
先說句題外話:疫情還是比較嚴(yán)峻,各位小伙伴要是出門的話一定要做好防護(hù)措施呀,不出門的話最好。
大家都不容易,雖說不是專業(yè)的也幫不上什么忙,但至少別添亂了。網(wǎng)上很多考驗(yàn)智商的事情,希望大家有明辨是非的能力,多看官方報道,至少比那些東西靠譜很多。
OK,言歸正轉(zhuǎn),農(nóng)歷新年快到了,寫了個新年賀卡生成器,分享給大家,祝大家新年快樂。
讓我們愉快地開始吧~
開發(fā)工具
Python版本: 3.6.4
相關(guān)模塊:
os模塊;
io模塊;
sys模塊;
pillow模塊;
pyqt5模塊;
以及一些python自帶的模塊。
環(huán)境搭建
安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。各位小伙伴新年快樂呀~
做個賀卡生成器的原理其實(shí)很簡單,首先找一些喜慶的背景圖片:

用pillow模塊在這些背景圖片上寫字
'''生成賀卡'''
def generate(self):
# 檢查路徑是否存在
content_path = self.content_edit.text()
bg_path = self.bg_edit.text()
font_path = self.font_edit.text()
font_color = self.font_color_combobox.currentText()
if (not self.checkFilepath(content_path)) or (not self.checkFilepath(bg_path)) or (not self.checkFilepath(font_path)):
self.card_image = None
return False
# 寫賀卡
contents = open(content_path, encoding='utf-8').read().split('\n')
font_card = ImageFont.truetype(font_path, self.font_size)
image = Image.open(bg_path).convert('RGB')
draw = ImageDraw.Draw(image)
draw.text((180, 30), contents[0], font=font_card, fill=font_color)
for idx, content in enumerate(contents[1: -1]):
draw.text((220, 40+(idx+1)*40), content, font=font_card, fill=font_color)
draw.text((180, 40+(idx+2)*40+10), contents[-1], font=font_card, fill=font_color)
# 顯示
fp = io.BytesIO()
image.save(fp, 'BMP')
qtimg = QtGui.QImage()
qtimg.loadFromData(fp.getvalue(), 'BMP')
qtimg_pixmap = QtGui.QPixmap.fromImage(qtimg)
self.show_label.setPixmap(qtimg_pixmap)
self.card_image = image
復(fù)制代碼為了展示好的效果,再用pyqt5做個GUI:

內(nèi)容路徑就是寫了祝福語的文本文件:

總結(jié)
到此這篇關(guān)于用Python寫個新年賀卡生成器的文章就介紹到這了,更多相關(guān)Python新年賀卡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
tensorflow沒有output結(jié)點(diǎn),存儲成pb文件的例子
今天小編就為大家分享一篇tensorflow沒有output結(jié)點(diǎn),存儲成pb文件的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python隊(duì)列通信:rabbitMQ的使用(實(shí)例講解)
下面小編就為大家分享一篇python隊(duì)列通信:rabbitMQ的使用(實(shí)例講解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
python數(shù)學(xué)建模之三大模型與十大常用算法詳情
這篇文章主要介紹了python數(shù)學(xué)建模之三大模型與十大常用算法詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感想取得小伙伴可以參考一下2022-07-07

