教你如何構建Mojave動態桌布

Edwardwu發表於2019-03-04

OSX Mojave釋出帶來了黑暗模式,眾多改進,其中一個功能就在能夠根據你當地所處的時間,動態切換系統背景

動態桌布

大家都知道,apple得益於自身的封閉特性,擁有眾多自身所特有的特殊格式,這次的動態背景其實就是依託於背後的Heic格式

Heic格式

如果你使用過apple的live photo 就會發現其匯出的格式就是heic, 這其實就是一個類似一個短視訊的格式,利用它, 我們將多張照片以及他們的時區等資訊直接整合,輸出成一張heic圖片,就能提供給Mojave使用了

開始構建吧

工具篇

關於工具,已經有人在github上開源了相關的構建指令碼,不過請注意,只有Mac可以使用哦 工具地址

教你如何構建Mojave動態桌布

開始

安裝工具

工具有兩種安裝模式 Homebrew 以及 github安裝,當然 如果你新裝了系統,有些Xcode功能需要重新安裝, 請先安裝xcode-select並且輸入sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Homebrew

開啟你的命令列輸入

brew tap mczachurski/wallpapper
brew install wallpapper
複製程式碼
github安裝

開啟你的命令列,輸入

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.swift

測試工具是否可用

和大多數軟體一樣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啦,將背景桌布設定成他就行~

相關文章