美文网首页
极客编程日历2018桌面壁纸

极客编程日历2018桌面壁纸

作者: Q9LyMwam81H4 | 来源:发表于2018-01-31 15:34 被阅读0次

图灵社区出版了一本极客编程日历“Happy Hacking 2018” ,实体已经售罄,但是提供了PDF电子版下载。我们可以编写脚本,把日历和桌面壁纸结合在一起。最终效果如图:

编程日历桌面壁纸

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)

结合crontab(或者Windows的任务计划程序),将脚本设定为每周一零点执行即可。
另外,有朋友遇到了Wand抛异常的问题,我分别在Python 3.6.3 + Wand 0.4.4 和 Python 3.4.3 + Wand 0.4.3 中测试,没有重现。
还可以做一些有趣的扩展。比如绘制一个方框,框选下方的当天日期等等。

相关文章

  • 极客编程日历2018桌面壁纸

    图灵社区出版了一本极客编程日历“Happy Hacking 2018” ,实体已经售罄,但是提供了PDF电子版下载...

  • 首页文案

    �立即�上课 了解��编程猫 编程猫小极客作品�集 (更多作品) 免费的少儿编程课 在家就能轻松学习 编程猫专为...

  • 2018-02-11极客编程日历桌面版开发笔记

    背景介绍 图灵教育推出的限量款编程日历2018,因为简约大气的设计和每周一个编程语言的介绍,在程序员中广受欢迎。 ...

  • [V版]Python极客项目编程 美)Mahesh Venkit

    下载地址:[V版]Python极客项目编程 美)Mahesh Venkitachalam 人民邮电 2017.5[...

  • GeekBand——C++开发工程师_第一周笔记

    我是市场营销的大三学生是极客第一次参加极客的编程培训班,想增加一门编程技能来为自己未来的发展铺垫好路。课余的...

  • Python极客项目编程

    《Python极客项目编程》Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编...

  • 极客爱情 | 03.和技术宅约会是这样的

    极客爱情 | 01.从你的编程世界路过极客爱情 | 02.程序员是这样撩妹的 ◆ 01 刚认识某人的时候,他正忙着...

  • web

    手册: javascript在线速查手册 极客战记 - 学编程 用玩的 http://www.softwhy.co...

  • 简单的细胞自动机

    使用python实现康威生命游戏Conway's game of life参考《python极客项目编程》wiki...

  • 极客

    安卓之父是个极客,安迪鲁宾。武可以电焊,文可以编程。是个文武双全的人。住在硅谷半山别墅,可谓功成名就。 极客我在一...

网友评论

      本文标题:极客编程日历2018桌面壁纸

      本文链接:https://www.haomeiwen.com/subject/fywkzxtx.html