教你如何构建Mojave动态壁纸

OSX Mojave发布带来了黑暗模式,众多改进,其中一个功能就在可以根据你当地所处的时间,动态切换系统背景git

动态壁纸

你们都知道,apple得益于自身的封闭特性,拥有众多自身所特有的特殊格式,此次的动态背景其实就是依托于背后的Heic格式github

Heic格式

若是你使用过apple的live photo 就会发现其导出的格式就是heic, 这其实就是一个相似一个短视频的格式,利用它, 咱们将多张照片以及他们的时区等信息直接整合,输出成一张heic图片,就能提供给Mojave使用了macos

开始构建吧

工具篇

关于工具,已经有人在github上开源了相关的构建脚本,不过请注意,只有Mac可使用哦 工具地址 json

开始

安装工具

工具备两种安装模式 Homebrew 以及 github安装,固然 若是你新装了系统,有些Xcode功能须要从新安装, 请先安装xcode-select而且输入sudo xcode-select -s /Applications/Xcode.app/Contents/Developerswift

Homebrew

打开你的命令行输入xcode

brew tap mczachurski/wallpapper
brew install wallpapper
复制代码
github安装

打开你的命令行,输入bash

git clone https://github.com/mczachurski/wallpapper.git
cd wallpapper
swift build --configuration release
sudo cp .build/x86_64-apple-macosx10.10/release/wallpapper /usr/local/bin
复制代码

注意 若是你用的swift4.1请编辑Package.swiftapp

测试工具是否可用

和大多数软件同样wallpapper -h 而后你会看到工具

wallpapper: [command_option] -i inputFile
Command options are:
 -h			show this message and exit
 -o			output file name (default is 'output.heic')
 -i			input file name, json file with wallpaper description
复制代码

构建

前面所题,咱们须要配置一些照片,而且配置每张照片的信息,因此新建一个json文件,内容相似测试

[
  {
    "fileName": "1.png",
    "isPrimary": true,
    "isForLight": true,
    "isForDark": false,
    "altitude": 27.95,
    "azimuth": 279.66
  },
  {
    "fileName": "2.png",
    "isPrimary": false,
    "isForLight": false,
    "isForDark": false,
    "altitude": -31.05,
    "azimuth": 4.16
  },
  {
    "fileName": "16.png",
    "isPrimary": false,
    "isForLight": false,
    "isForDark": true,
    "altitude": -28.63,
    "azimuth": 340.41
  }
]
复制代码
属性解释
  • fileName - 文件名,对应的图片名字
  • isPrimary - 是不是主图,heic的预览图就是他了,只能有一个
  • isForLight - 若是设置为trure,将显示在该壁纸的静态模式(白天)中
  • isForDark - 同上,不过是黑暗模式
  • altitude - 太阳和时间相关
  • azimuth - 太阳和时间相关 altitude和azimuth能够在keisan.casio.com/exec/system…之中获取,填入对应时间对应的值便可

生成

wallpapper -i <your_json_name>.json 以后你就能得到一个output.heic啦,将背景壁纸设置成他就行~

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息