python 日历壁纸_极客编程日历2018桌面壁纸

news/2024/10/30 13:29:02/

图灵社区出版了一本极客编程日历“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 中测试,没有重现。

还可以做一些有趣的扩展。比如绘制一个方框,框选下方的当天日期等等。


http://www.ppmy.cn/news/503650.html

相关文章

Mybatis源码分析_日志模块 (1)

不得不承认,学习MyBatis的时间成本要比学习Spring低很多,Mybatis是我所了解过的代码量最小、整体架构最简单,但是又是最具有学习价值的一个框架。如果,你想快速的阅读一个框架的源码,并且掌握这个框架的精髓&#xff0…

python修改桌面壁纸_轻松有趣的Python小案例,让电脑自动更换壁纸

周末好!难得放假,今天的你是不是一觉睡到大中午了?不要有愧疚感,现在的年轻人压力实在太大,好好睡上一觉已经是一件很奢侈的事情了,就给自己好好放个假吧! 在这难得的休闲时光,我们…

什么是版本控制系统?怎么学习? - 易智编译EaseEditing

版本控制系统(Version Control System,简称VCS)是一种用于管理和跟踪文件版本的工具或系统。它可以追踪文件的变更历史,记录每个版本的修改内容,以及支持多人协作开发。 学习版本控制系统可以帮助你更好地管理和控制你…

每一次Http请求,Java线程是如何处理的?

每一次Http请求,Java线程是如何处理的? 文章目录 每一次Http请求,Java线程是如何处理的?前言一、Http请求处理二、两种服务器模型及处理方式1、两种服务:2.更好的处理方式 总结 前言 当我们写好一个项目时&#xff0c…

在 Navicat Premium 中管理 MySQL 用户 | 第 2 部分:创建新用户

第 2 部分:创建新用户 第 2 部分:创建新用户 第 1 部分 中,我们学习了如何使用 Navicat Premium 用户管理工具保护 MySQL 的 root 帐号。本篇文章将集中介绍如何设置新用户的帐号详细信息、帐号限制和 SSL 设置。如果你想边学边用&#xff1…

typeScript(枚举篇)

枚举 使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript支持数字的和基于字符串的枚举。 数字枚举 首先我们看看数字枚举,如果你使用过其它编程语言应该会很熟悉。 enum Direction {Up 1,Down,Left,Righ…

字体取消加粗

默认字体太粗,不加粗 font-weight: 400;

CSS字体的加粗

font-weight normal:正常字体 bold:加粗 还可以利用100-900之间的整百数 400:normal 700:bold