
이것은 MacOS가 MacOS Mojave에 도입 된 동적 월페이퍼를 만들기위한 간단한 콘솔 응용 프로그램입니다. 여기서는 역동적 인 월페이퍼의 작동 방식을 볼 수 있습니다. 또한 다음 기사에서 동적 월페이퍼에 대한 자세한 내용을 읽을 수 있습니다.
아래에서 준비된 동적 월페이퍼를 다운로드 할 수 있습니다.
Earth View (다운로드) 
사이버 펑크 2077 (다운로드) 
최신 Xcode (10.2)와 Swift 5가 설치되어 있어야합니다.
터미널을 열고 다음 명령을 따라 실행하십시오.
brew tap mczachurski/wallpapper
brew install wallpapper터미널을 열고 다음 명령을 따라 실행하십시오.
$ git clone https://github.com/mczachurski/wallpapper.git
$ cd wallpapper
$ swift build --configuration release
$ sudo cp .build/release/wallpapper /usr/local/bin
$ sudo cp .build/release/wallpapper-exif /usr/local/bin 버전 4.1에서 Swift를 사용하는 경우 Package.swift 파일을 편집하고 Swift 버전 (첫 번째 줄에)을 넣으십시오.
또한 build.sh 스크립트를 사용하여 빌드 할 수 있습니다 (대신 swiftc 사용합니다).
$ git clone https://github.com/mczachurski/wallpapper.git
$ cd wallpapper
$ ./build.sh
$ sudo cp .output/wallpapper /usr/local/bin
$ sudo cp .output/wallpapper-exif /usr/local/bin 이제 콘솔에서 당신은 wallpapper -h 실행할 수 있으며 다음과 비슷한 응답을 얻어야합니다.
wallpapper: [command_option] [-i jsonFile] [-e heicFile]
Command options are:
-h show this message and exit
-v show program version and exit
-o output file name (default is ' output.heic ' )
-i input .json file with wallpaper description
-e input .heic file to extract metadata그게 다야. 이제 자신만의 동적 월프퍼를 만들 수 있습니다.
Swift 빌드 설치 부분에서 오류가 발생하면 App Store에서 전체 Xcode IDE (도구뿐만 아니라)를 다운로드하십시오. 그런 다음 실행하십시오
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 설치 명령을 다시 실행하십시오.
위의 명령을 수행 한 경우 이제 동적 벽지를 만들 수 있습니다. 정말 쉽습니다. 먼저 모든 사진을 하나의 폴더에 넣고 동일한 폴더에서 그림의 설명으로 json 파일을 만듭니다. 응용 프로그램은 3 가지 종류의 동적 월페이퍼를 지원합니다.
태양 좌표를 기반으로 한 벽지의 경우 json 파일은 아래 스 니펫과 같은 구조를 가져야합니다.
[
{
"fileName" : " 1.png " ,
"isPrimary" : true ,
"isForLight" : true ,
"altitude" : 27.95 ,
"azimuth" : 279.66
},
{
"fileName" : " 2.png " ,
"altitude" : -31.05 ,
"azimuth" : 4.16
},
...
{
"fileName" : " 16.png " ,
"isForDark" : true ,
"altitude" : -28.63 ,
"azimuth" : 340.41
}
]속성:
fileName 사진 파일 이름의 이름 (몇 안되는 노드에서 동일한 파일을 사용할 수 있음).isPrimary 기본 이미지 인 이미지에 대한 정보 ( heic 파일을 작성한 후에 볼 수 있음). 파일 중 하나만 기본 일 수 있습니다.isForLight 사용자가 "LIGHT (static)"벽지를 선택했을 때 true 그림이 표시됩니다.isForDark 사용자가 "Dark (static)"를 선택했을 때 true Picture가 표시되는 경우.altitude - 태양과 관찰자의 지역 지평선 사이의 각도입니다.azimuth - 그것은 수평선 주변의 태양의 각도입니다. 적절한 고도와 방위각을 계산하려면 wallpapper-exif 응용 프로그램 또는 웹 페이지를 사용할 수 있습니다 : https://keisan.casio.com/exec/system/1224682277. 웹 페이지에서 사진과 날짜를 찍는 곳에 배치해야합니다. 그런 다음 시스템은 하루 종일 태양의 고도와 방위각을 위해 생성됩니다.
OS Time을 기반으로 한 벽지의 경우 json 파일은 아래 스 니펫과 같은 구조를 가져야합니다.
[
{
"fileName" : " 1.png " ,
"isPrimary" : true ,
"isForLight" : true ,
"time" : " 2012-04-23T10:25:43Z "
},
{
"fileName" : " 2.png " ,
"time" : " 2012-04-23T14:32:12Z "
},
{
"fileName" : " 3.png " ,
"time" : " 2012-04-23T18:12:01Z "
},
{
"fileName" : " 4.png " ,
"isForDark" : true ,
"time" : " 2012-04-23T20:10:45Z "
}
]속성:
fileName 사진 파일 이름의 이름 (몇 안되는 노드에서 동일한 파일을 사용할 수 있음).isPrimary 기본 이미지 인 이미지에 대한 정보 ( heic 파일을 작성한 후에 볼 수 있음). 파일 중 하나만 기본 일 수 있습니다.isForLight 사용자가 "LIGHT (static)"벽지를 선택했을 때 true 그림이 표시됩니다.isForDark 사용자가 "Dark (static)"를 선택했을 때 true Picture가 표시되는 경우.time - 벽지가 바뀌는 시간 (가장 중요한 시간).OS Apperance 설정 (Light/Dark)을 기반으로하는 월페이퍼의 경우 훨씬 간단한 JSON 파일을 준비해야하며 두 개의 이미지 만 사용해야합니다 (하나는 빛과 어두운 테마 용) 만 사용해야합니다.
[
{
"fileName" : " 1.png " ,
"isPrimary" : true ,
"isForLight" : true
},
{
"fileName" : " 2.png " ,
"isForDark" : true
}
]속성:
fileName - 사진 파일 이름의 이름.isPrimary 기본 이미지 인 이미지에 대한 정보 ( heic 파일을 작성한 후에 볼 수 있음). 파일 중 하나만 기본 일 수 있습니다.isForLight 사용자가 빛 테마를 사용할 때 true 사진이 표시되는 경우isForDark 사용자가 Dark 테마를 사용하면 true 사진이 표시됩니다. json 파일과 모든 사진이 있으면 heic 파일을 생성 할 수 있습니다. 다음 명령을 실행해야합니다.
wallpapper -i wallpapper.json 새 파일이 있어야합니다 : output.heic . 이 파일을 새 벽지로 설정하고 동적 벽지를 즐기십시오!
기존 heic 파일에서 메타 데이터를 추출 할 수 있습니다. 다음 명령을 실행해야합니다.
wallpapper -e Catalina.heic메타 데이터는 콘솔에서 출력으로 인쇄해야합니다.
또한 plist 파일을 추출하고 저장할 수 있습니다.
wallpapper -e Catalina.heic -o output.plist 사진에 GPS exif 메타 데이터와 생성 시간이 포함 된 경우 wallpapper-exif 응용 프로그램을 사용하여 Sun altitude 및 azimuth 있는 json 파일을 생성 할 수 있습니다. 예제 응용 프로그램 사용 :
$ wallpapper-exif 1.jpeg 2.jpeg 3.jpeg json 콘솔에서 출력으로 생산되어야합니다.
Sun 계산은 Vladimir Agafonkin (@mourner)이 만든 JavaScript 라이브러리를 기반으로 작성되었습니다.