想用月视图或者周视图做背景。后台定期拉取Google Calendar,生成一张图片并设为壁纸
就像这样,不过最好是能调整配色的
Google日历有三种访问方式:Google日历自身的API、iCal、HTML,理论上使用三者之中的任意一种方式都能够实现吧
我目前是用了一个很笨的方法…把Google日历同步到Win10系统自带的通用日历,调成深色背景,然后用 autohotkey 来自动截图设壁纸。
不知道有什么更好的方法吗?
最笨的方法:基于画图
Windows的画图不能设置透明度、高斯模糊什么的,这种方法设置壁纸,会导致桌面的图标可读性会变得有点差(可参考上方的截图)
1. 创建一个AHK脚本
; 截图
Run, explorer.exe shell:appsFolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar
Sleep, 500
SendInput, #{Up}
Sleep, 2000
SendInput, !{PrintScreen}!{F4}
; 设置壁纸
Sleep, 100
Run, mspaint
WinWaitActive, ahk_class MSPaintApp
SendInput, ^{v}
Sleep, 100
SendInput, !{f}{b}{Enter}
WinWaitActive, ahk_class #32770
SendInput, {Text}temp.png
SendInput, !{d}{Text}C:\AHK
SendInput, {Enter}{Enter}
Sleep, 200
WinWaitActive, ahk_class MSPaintApp
SendInput, !{F4}
; 删除截图
Sleep, 1000
SendInput, #{d}
FileDelete, C:\AHK\temp.png
Return
2. 创建任务计划
然后打开系统自带的任务计划taskschd.msc
,定一个运行间隔,比如说,每3天自动运行一次脚本,截图壁纸就可以自动更新了
稍微好一点的笨方法:基于ri’liImageMagick
ImageMagick是一个可以通过命令行使用的图片编辑器,启动比画图更快,功能也比画图更加强大。这里我们用它来裁切截图,再把截图的白点降低(白色的文字拉到灰色),以期达到壁纸不干扰桌面图标的效果
1. 安装ImageMagick
2. 创建一个AHK脚本
; 创建截图
Run, explorer.exe shell:appsFolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar
Sleep, 500
SendInput, #{Up}
Sleep, 2000
SendInput, !{PrintScreen}!{F4}
; 编辑图片并保存
Run, magick clipboard: -crop 2028x1112+134+172 +level 0`,50`% C:\AHK\temp.png
; 设置壁纸
Sleep, 500
Run, explorer.exe /select`, C:\AHK\temp.png
WinWaitActive, ahk_class CabinetWClass
SendInput, {AppsKey}{b}
Sleep, 500
SendInput, !{F4}
; 删除截图
Sleep, 500
SendInput, #{d}
FileDelete, C:\AHK\temp.png
Return
其中这一行要根据自己的实际情况修改:
Run, magick clipboard: -crop 2028x1112+134+172 +level 0`,50`% C:\AHK\temp.png
-crop 2028x1112+134+172
的含义是以(134,172)像素点作为起点,向右下方裁切出一张2028x1112像素的图片,除非你的屏幕参数跟我的一样(2160x1350@150%),否则请根据自己的分辨率自行调试合适的数值
+level 0`,50`%
的含义是将截图的白点降低至原来的一半
3. 创建任务计划
然后打开系统自带的任务计划taskschd.msc
,定一个运行间隔,比如说,每3天自动运行一次脚本,截图壁纸就可以自动更新了
差不多的方法:基于HTML/CSS to Image API
只是一个思路