用Python寫個新年賀卡生成器
前言
離過年還有十多天,在這里提前祝各位小伙伴新年快樂呀~
先說句題外話:疫情還是比較嚴峻,各位小伙伴要是出門的話一定要做好防護措施呀,不出門的話最好。
大家都不容易,雖說不是專業(yè)的也幫不上什么忙,但至少別添亂了。網(wǎng)上很多考驗智商的事情,希望大家有明辨是非的能力,多看官方報道,至少比那些東西靠譜很多。
OK,言歸正轉,農(nóng)歷新年快到了,寫了個新年賀卡生成器,分享給大家,祝大家新年快樂。
讓我們愉快地開始吧~
開發(fā)工具
Python版本: 3.6.4
相關模塊:
os模塊;
io模塊;
sys模塊;
pillow模塊;
pyqt5模塊;
以及一些python自帶的模塊。
環(huán)境搭建
安裝Python并添加到環(huán)境變量,pip安裝需要的相關模塊即可。各位小伙伴新年快樂呀~
做個賀卡生成器的原理其實很簡單,首先找一些喜慶的背景圖片:
用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 復制代碼
為了展示好的效果,再用pyqt5做個GUI:
內容路徑就是寫了祝福語的文本文件:
總結
到此這篇關于用Python寫個新年賀卡生成器的文章就介紹到這了,更多相關Python新年賀卡內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
成功解決ValueError:?Supported?target?types?are:('binary
本文給大家分享成功解決ValueError:?Supported?target?types?are:('binary',?'multiclass').?Got?'continuous'?instead.的錯誤問題,需要的朋友可以參考下2023-03-03Python?FastAPI?Sanic?Tornado?與Golang?Gin性能實戰(zhàn)對比
本文將深入比較Python的FastAPI、Sanic、Tornado以及Golang的Gin框架的各種特性、性能表現(xiàn)以及適用場景,通過詳實的性能測試和實際示例代碼,將探討它們在構建現(xiàn)代高性能應用中的優(yōu)劣勢,以便開發(fā)者根據(jù)需求做出明智的選擇2024-01-01Python利用Pillow(PIL)庫實現(xiàn)驗證碼圖片的全過程
這篇文章主要給大家介紹了關于Python利用Pillow(PIL)庫實現(xiàn)驗證碼圖片的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10