圖靈社區(qū)出版了一本極客編程日歷“Happy Hacking 2018” ,實體已經(jīng)售罄径簿,但是提供了PDF電子版下載哭懈。我們可以編寫腳本,把日歷和桌面壁紙結(jié)合在一起使鹅。最終效果如圖:
Python源代碼:
import datetime
from wand.image import Image #pip install Wand
PDF_SOURCE = '/home/pjheng/文檔/code_calendar_2018.pdf[{}]' #下載的PDF日歷路徑
BACKGROUND_SOURCE = '/usr/share/backgrounds/adapta/tealized.jpg' #使用的壁紙
OUTPUT = '/home/pjheng/圖片/turing.jpg' #生成的壁紙路徑
PAGE_OFFSET = 6 #周歷從PDF文檔的第7頁開始
MARGIN_LEFT = 200 #周歷的左邊距
MARGIN_TOP = 200 #周歷的上邊距
current_week = datetime.datetime.now().isocalendar()[1] #獲取當前是第幾周
page = PAGE_OFFSET + current_week #獲取周歷在PDF文檔中的頁號
with Image(filename=PDF_SOURCE.format(page), resolution=200) as calendar:
with Image(filename=BACKGROUND_SOURCE) as background:
background.composite_channel('default_channels', calendar, 'blend', MARGIN_LEFT, MARGIN_TOP)
background.save(filename=OUTPUT)
結(jié)合crontab(或者Windows的任務計劃程序)揪阶,將腳本設(shè)定為每周一零點執(zhí)行即可。
另外患朱,有朋友遇到了Wand拋異常的問題鲁僚,我分別在Python 3.6.3 + Wand 0.4.4 和 Python 3.4.3 + Wand 0.4.3 中測試,沒有重現(xiàn)裁厅。
還可以做一些有趣的擴展冰沙。比如繪制一個方框,框選下方的當天日期等等。