从 Mojave 开始,Apple 为 macOS 引入了动态壁纸,动态壁纸可以根据晨昏变化切换壁纸。下面这几篇文章详细分析了动态壁纸的工作原理:
- macOS Mojave dynamic wallpaper
- macOS Mojave dynamic wallpapers (II)
- macOS Mojave dynamic wallpapers (III)
Marcin Czachurski 开发的一个小工具可以帮助我们创建一张类似的动态壁纸。
工具安装
需要先安装最新版本的 Xcode 以及 Swift 5。
Homebrew 安装
在终端工具中运行以下命令:
1 | brew tap mczachurski/wallpapper |
手动安装
在终端工具中运行:
1 | git clone https://github.com/mczachurski/wallpapper.git |
安装完成后,运行 wallpapper -h 可以返回以下信息:
1 | wallpapper: [command_option] -i inputFile |
配置照片
将用于创建动态壁纸的所有图片放在同一个文件夹,然后在文件夹中创建一个包含照片信息的配置文件:config.json,这个工具支持创建三种模式的动态壁纸:
- 根据太阳方位变化
- 根据时间变化
- 根据系统主题变化
根据太阳方位变化
根据太阳方位变化的壁纸,照片配置信息如下:
1 | [ |
参数:
- fileName:图片名称
- isPrimary:是否将图片用作记录整套壁纸元信息的默认图片
- isForLight:是否将图片用作“浅色”模式壁纸
- isForDark:是否将图片用作“深色”模式壁纸
- altitude:太阳高度角
- azimuth:太阳方位角
可以在这里查询具体位置的太阳方位:
根据时间变化
根据太阳方位变化的壁纸,照片配置信息如下:
1 | [ |
参数:
- time:图片切换的时间
根据系统主题变化
根据系统主题(浅色/深色)变化的动态壁纸,照片配置信息可能相对简单,并且只需要两张照片即可:
1 | [ |
创建壁纸
以上工作完成后,在终端工具中运行以下命令就可以生成 heic 文件了:
1 | wallpapper -i config.json |
完成后,将生成一个名为 output.heic 的新文件,然后就可以将它用作动态壁纸了!
Enjoy It!