■JSONファイルの解説用データ JSONファイルはコメント追加が不可能なため、このファイルを直接使用するのはできない  2020年2月17日現在最新のMiBandWFTool1.4.2について解説 ※直近の変更点一覧 ・1.3.7変更点: 複数言語セット対応(0:簡体中国語/1:中国語/2:英語を切り替え可能) ・1.3.9変更点: アニメーションの速度設定対応 推奨値0〜45 画像ファイル順0000→XXXXへの依存無しでも作成できるように変更 ・1.4.1変更点: 時間区切り画像("ImageIndex")/歩数用アイコン("StepsImageIndex")/歩数進捗メーター直線描画設定("SolidImage")追加 ・1.4.2変更点: マイル表示用の画像指定("MilesSuffixImageIndex")に対応、通常指定("SuffixImageIndex")がキロメートル指定("KmSuffixImageIndex")に ■Miband4(MiBandWFTool) JSONファイル設定項目と表示順 MiBandWFTool1.4.2/2020年2月17日現在のデータリスト 重なった場合基本的にリストの上から順に描画される(=最後に描画されるリスト下の要素が最も前面に表示される) 数値用画像は基本0から設定 曜日用画像は月曜から設定x3言語ぶん用意必須 ・"Background"/背景画像 ("X"/"Y"/"ImageIndex") ・"Time"/時間 ―"Hours"/時間表示 ―"Tens"/時間10の位 ("X"/"Y"/"ImageIndex"/"ImagesCount") "Ones"/時間1の位 ("X"/"Y"/"ImageIndex"/"ImagesCount") "Minutes"/分表示 ―"Tens"/分数10の位 ("X"/"Y"/"ImageIndex"/"ImagesCount") "Ones"/分数1の位 ("X"/"Y"/"ImageIndex"/"ImagesCount") "Seconds"/秒表示 ―"Tens"/秒数10の位 秒数は更新なし(!表示でアニメーション動作しないので注意) ("X"/"Y"/"ImageIndex"/"ImagesCount") "Ones"/秒数1の位 ("X"/"Y"/"ImageIndex"/"ImagesCount") "DelimiterImage"/時分秒区切り画像ファイル指定 ("ImageIndex") ・"Activity"/アクティビティ ―"Steps"/歩数 ―"Step"/歩数表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") "StepsImageIndex"/歩数用アイコンの指定 数値の後ろにつく形 ("StepsImageIndex") "Calories"/カロリー表示 ―"Number"/カロリー数表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") "DelimiterImageIndex"/カロリーデータ単位等表示用アイコンの指定 数値の後ろにつく形 ("DelimiterImageIndex") "Pulse"/心拍数 ―"Number"/心拍数表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") "NoDataImageIndex"/心拍数データが取得できない場合の画像ファイル指定 ("NoDataImageIndex") "Distance"/距離 ―Number"/距離数表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") "KmSuffixImageIndex"/キロメートル換算設定時アイコン表示用画像ファイル指定 数値の後ろに指定アイコンが付く形 ("KmSuffixImageIndex") "DecimalPointImageIndex"/小数点表示用画像ファイル指定 ("DecimalPointImageIndex") "MilesSuffixImageIndex"/マイル換算設定時アイコン表示用画像ファイル指定  ("MilesSuffixImageIndex")※使う場合はKmSuffixImageIndex指定必須 同一画像使用可能 ・"Date"/月日 ―"MonthAndDay"/月日設定 ―"Separate"/月日分割表示用設定 ―"Month"/月表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") "Day"/日表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") =================== ※月日表示は分割しない一括表示設定も可能 その場合月/日の区切り画像も指定できる 分割表示と同時表示可能 "OneLine"/月日一括表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") "DelimiterImageIndex"/月日区切り画像ファイル指定 ("DelimiterImageIndex") =================== "TwoDigitsMonth"/月1桁時0表示設定 ("TwoDigitsMonth") "TwoDigitsDay"/日1桁時0表示設定 ("TwoDigitsMonth") "WeekDay"/曜日表示設定(多言語対応7x3種類=21枚画像指定) ("X"/"Y"/"ImageIndex"/"ImagesCount") "DayAmpm"/午前午後表示アイコン設定 時間表示設定が12h表示時のみにしか表示されない ("TopLeftX"/TopLeftY"/"ImageIndexAMCN"/"ImageIndexPMCN"/"ImageIndexAMEN"/"ImageIndexPMEN")同一画像指定可能 ・"StepsProgress"/歩数進捗メーター ―"Linear"/画像進捗メーター設定 ―"StartImageIndex"/1段階目画像ファイル指定 表示は100%÷画像数ごと同時上書き ("StartImageIndex") "Segments"/段階ごと表示位置設定 2段階目以降は1段階目ファイル番号+1 ("X"/"Y") "Circle"/歩数進捗メーター円描画 ("CenterX"/"CenterY"/"RadiusX"/"RadiusY"/"StartAngle"/"EndAngle"/"Width"/"Color") "SolidImage"/歩数進捗メーター直線描画設定 ―"Start"/描画開始位置 ("X"/"Y") "End"/描画終了位置 ("X"/"Y") "ImageIndex"/アイコン指定(!反映不明) ("ImageIndex") "Background"/背景画像指定 ("X"/"Y"/"ImageIndex") ・"Status"/各状態 ―"DoNotDisturb"/DND設定状態表示 ―"Coordinates"/表示位置設定 ("X"/"Y"/"BoxWidth"/"Alignment"/"Order") "ImageIndexOn"/オン状態時画像ファイル指定 ("ImageIndexOn") "ImageIndexOff"/オフ状態時画像ファイル指定 ("ImageIndexOff") "Lock"/ロック設定状態表示 ―"Coordinates"/表示位置設定 ("X"/"Y"/"BoxWidth"/"Alignment"/"Order") "ImageIndexOn"/オン状態時画像ファイル指定 ("ImageIndexOn") "ImageIndexOff"/オフ状態時画像ファイル指定 ("ImageIndexOff") "Bluetooth"/BlueTooth設定状態表示―"Coordinates"/表示位置設定 ("X"/"Y"/"BoxWidth"/"Alignment"/"Order") "ImageIndexOn"/オン状態時画像ファイル指定 ("ImageIndexOn") "ImageIndexOff"/オフ状態時画像ファイル指定 ("ImageIndexOff") "Battery"/バッテリー情報 ―"BatteryConfig"/バッテリー情報表示幅等設定 ("BoxWidth"/"Alignment"/"Order") "Text/バッテリー情報数値表示 ("TopLeftX"/"TopLeftY"/"BottomRightX"/"BottomRightY"/"Alignment"/"Spacing"/"ImageIndex"/"ImagesCount") "Icon"/バッテリー情報画像ファイル指定 表示は0%用画像から以降100%÷(画像数−1)ごと上書き ("X"/"Y"/"ImageIndex"/"ImagesCount") ・"AnalogDialFace"/アナログ時計 ―"Hours"/時針設定 ―"OnlyBorder"/縁のみ描画オンオフ設定 ("OnlyBorder") "Color"/色指定設定 ("Color") "Center"/時針起点描画位置設定 ("X"/"Y") "Shape"/時針形状設定 設定した各座標間を繋いだ図形を描画 座標は原点を左上に置いたX右方向Y下方向の値のとき3時方向に描画するもの ("X"/"Y")基点描画位置からの絶対座標 マイナス値を設定可 分かりにくい場合は0時0分0秒のときXとYを入れ替えた値とするとわかりやすいかも "CenterImage"時針基点位置画像ファイル指定 省略可(時針用・分針用等複数指定すると表示が安定しなくなるので注意) ("X"/"Y"/"ImageIndex") "Minutes"/分針設定―"OnlyBorder"/縁のみ描画オンオフ設定 ("OnlyBorder") "Color"/色指定設定 ("Color") "Center"/分針起点描画位置設定 ("X"/"Y") "Shape"/分針形状設定 設定した各座標間を繋いだ図形を描画 座標は原点を左上に置いたX右方向Y下方向の値のとき3時方向に描画するもの ("X"/"Y")基点描画位置からの絶対座標 マイナス値を設定可 "CenterImage"分針基点位置画像ファイル指定 省略可(時針用・分針用等複数指定すると表示が安定しなくなるので注意) ("X"/"Y"/"ImageIndex") "Seconds"/秒針設定 ―"OnlyBorder"/縁のみ描画オンオフ設定(!秒針描画はアニメーションおよび心拍数画像と同時使用が安定しないので注意) ("OnlyBorder") "Color"/色指定設定 ("Color") "Center"/秒針起点描画位置設定 ("X"/"Y") "Shape"/秒針形状設定 設定した各座標間を繋いだ図形を描画 座標は原点を左上に置いたX右方向Y下方向の値のとき3時方向に描画するもの ("X"/"Y")基点描画位置からの絶対座標 マイナス値を設定可 "CenterImage"秒針基点位置画像ファイル指定(時針用・分針用等複数指定すると表示が安定しなくなるので注意) ("X"/"Y"/"ImageIndex") ・"Other"/その他 ―"Animation"/アニメーション表示設定 ―"AnimationImage"表示画像ファイル指定(!秒数表示で動作しない およびアナログ秒針表示で動作不安定になるので注意) ("X"/"Y"/"ImageIndex"/"ImagesCount"/"X3") "Speed"/画像間隔時間 推奨値0〜45 50以上は点滅 ("Speed") "RepeatCount"/アニメーション繰り返し回数 ("RepeatCount") "x2"/次繰り返しまでの間隔 推奨設定値100(おそらくミリ秒指定?) ("x2") "Heart"心拍数画像 ―"Scale"心拍数画像設定 ―"StartImageIndex"/1段階目画像ファイル指定 94以下/114/154/174/194以上の5段階のみ切り替え表示 ("StartImageIndex") "Segments"/段階ごと表示位置設定5段階まで 2段階目以降は1段階目ファイル番号+1 ("X"/"Y") ■"Alignment"に指定できる設定一覧 (表示域のなかのどの方向に揃えて表示するか・表示域はTopLeftのXY座標とBottomRightのXY座標で指定される) Left Right HCenter TOP Bottom VCenter ------ TopLeft TopRight TopCenter ------ Center CenterLeft CenterRight ------ BottomCenter BottomLeft BottomRight ■実データからの解説===================== { "Background": { /背景用画像指定 位置変更や省略不可座標位置は起点位置 "Image": { "X": 0, "Y": 0, "ImageIndex": 0 } }, "Time": { "Hours": { /時間表示設定 "Tens": { /時間10の位 "X": 4, /X座標指定 原点は左上 "Y": 60, /Y座標指定 "ImageIndex": 1, /0001.png等、画像ファイル番号の初期値 "ImagesCount": 3 /初期値から何枚の画像を使用するか この場合3で0001.png〜0003.png(時間10の位0・1・2の画像)を使用 }, "Ones": { /時間1の位 "X": 18, "Y": 60, "ImageIndex": 1, "ImagesCount": 10 /この場合10で0001.png〜0010.png(時間1の位0〜9までの画像)を使用 } }, "Minutes": { /分表示設定 "Tens": { "X": 35, "Y": 60, "ImageIndex": 1, "ImagesCount": 6 }, "Ones": { "X": 49, "Y": 60, "ImageIndex": 1, "ImagesCount": 10 } }, ======================================= "Seconds": { /秒表示設定例 "Tens": { "X": 0, "Y": 0, "ImageIndex": 1, "ImagesCount": 6 }, "Ones": { "X": 0, "Y": 0, "ImageIndex": 1, "ImagesCount": 10 } }, ======================================= "DelimiterImage": { /時分秒区切り画像ファイル指定 "X": 31, "Y": 60, "ImageIndex": 86 } }, "Activity": { /各アクティビティ情報表示設定 distanceは距離データ "Steps": { /歩数表示設定 "Number": { /歩数数値設定 "TopLeftX": 10, /TopLeftのXY座標とBottomRightのXY座標で表示域を指定して、 "TopLeftY": 150, /その枠の中でどの方向に表示を揃えるかをAlignmentで指定する  "BottomRightX": 100, "BottomRightY": 220, "Alignment": "Right", "Spacing": 0, /画像間の空きドット数指定 "ImageIndex": 11, "ImagesCount": 10 }, "StepsImageIndex": 87 /歩数用アイコンの指定 数値の後ろにつく形 }, "Calories": { /カロリー数表示設定 "Number": { "TopLeftX": 75, "TopLeftY": 220, "BottomRightX": 119, "BottomRightY": 239, "Alignment": "Right", "Spacing": 0, "ImageIndex": 21, "ImagesCount": 10 }, "SuffixImageIndex": 88 /カロリーデータ単位等表示用アイコンの指定 数値の後ろにつく形 }, "Pulse": { /心拍数表示設定 "Number": { "TopLeftX": 20, "TopLeftY": 120, "BottomRightX": 79, "BottomRightY": 150, "Alignment": "Right", "Spacing": 0, "ImageIndex": 31, "ImagesCount": 10 }, "NoDataImageIndex": 89 /心拍数データが取得できない場合の画像ファイル指定 }, "Distance": { /距離数表示設定 "Number": { "TopLeftX": 20, "TopLeftY": 220, "BottomRightX": 69, "BottomRightY": 239, "Alignment": "Right", "Spacing": 0, "ImageIndex": 21, "ImagesCount": 10 }, "KmSuffixImageIndex": 90, /キロメートル換算設定時アイコン表示用画像ファイル指定 数値の後ろに指定アイコンが付く形 "DecimalPointImageIndex": 91 /小数点表示用画像ファイル指定 ======================================= "MilesSuffixImageIndex": 90 /マイル換算設定時アイコン表示用画像ファイル指定 キロメートル用アイコンと同一画像指定可能 ======================================= } }, "Date": { /月日・午前午後・曜日表示設定 "MonthAndDay": { /月日表示設定 "OneLine": { /分割しない一括月日表示設定 "Number": { "TopLeftX": 0, "TopLeftY": 101, "BottomRightX": 60, "BottomRightY": 120, "Alignment": "HCenter", "Spacing": 1, "ImageIndex": 21, "ImagesCount": 10 }, "DelimiterImageIndex": 92 /月日区切り画像ファイル指定 }, ======================================= ※月日表示は分割表示設定も可能 その場合月/日の区切り画像は指定できない 一括表示と同時表示可能 "Separate": { /月日分割表示設定 "Month": { /月表示設定 "TopLeftX": 0, "TopLeftY": 0, "BottomRightX": 0, "BottomRightY": 0, "Alignment": "Center", "Spacing": 0, "ImageIndex": 21, "ImagesCount": 10 }, "Day": { /日表示設定 "TopLeftX": 0, "TopLeftY": 0, "BottomRightX": 0, "BottomRightY": 0, "Alignment": "Center", "Spacing": 0, "ImageIndex": 21, "ImagesCount": 10 } }, ======================================= "TwoDigitsMonth": false, /月1桁時0表示設定 "TwoDigitsDay": false /日1桁時0表示設定 }, "WeekDay": { /曜日表示設定(多言語対応7x3種類=21枚画像指定必須) "X": 55, "Y": 100, "ImageIndex": 65, "ImagesCount": 21 /画像21枚指定部分 }, "DayAmPm": { /午前午後表示アイコン設定 時間表示設定が12h表示時のみにしか表示されない "X": -3, "Y": 45, "ImageIndexAMCN": 93, /各同一画像番号指定可能 "ImageIndexPMCN": 94, "ImageIndexAMEN": 93, "ImageIndexPMEN": 94 } }, "StepsProgress": { /歩数進捗メーター表示設定 "Linear": { /画像進捗メーター設定 設定される進捗段階は(100÷指定画像数)%になる "StartImageIndex": 41, /1段階目画像ファイル指定 表示は100%÷画像数ごと同時上書き "Segments": [ /段階ごと表示位置設定 2段階目以降は1段階目ファイル番号+1 { "X": 110, /この場合表示位置を10個指定しているので、進捗段階は初回10%から10%ごと表示になる "Y": 205 }, { "X": 110, "Y": 195 }, { "X": 110, "Y": 175 }, { "X": 110, "Y": 155 }, { "X": 110, "Y": 135 }, { "X": 110, "Y": 115 }, { "X": 110, "Y": 95 }, { "X": 110, "Y": 75 }, { "X": 110, "Y": 55 }, { "X": 90, "Y": 35 } ] } ======================================= "Circle": { /円形進捗メーター表示用 "CenterX": 0, /中心座標指定 "CenterY": 0, "RadiusX": 10, /中心座標からの半径座標設定 "RadiusY": 0, "StartAngle": 0, /初期の描画角度設定 "EndAngle": 360, /目標達成時の描画角度設定 "Width": 5, /円の幅を指定 この場合原点からX方向に10の位置を基点に幅5で360度=円が達成率100%時に描画される形になる "Color": "0xFFFFFFFFFFFFFFFF" /円の色指定 16進数で透明度2桁+6桁カラーコード他、"0xFFFFFF"の8ビットカラー値でも指定できるようだ }, ======================================= "SolidImage": { /歩数進捗メーター直線描画設定 "Start": { /直線描画開始位置 "X": 0 "Y": 100 }, "End": { /直線描画終了位置 "X": 120 "Y": 120 }, "ImageIndex": 5, /画像指定(!反映不明) "Background": { /背景画像指定 "X": 0 "Y": 100 "ImageIndex": 6, } } ======================================= }, "Status": { /DND設定状態表示 "DoNotDisturb": { "Coordinates": { /表示位置指定 "X": 61, "Y": 40, "BoxWidth": 20, /指定された座標から設定した正方形の表示域設定 "Alignment": 0, /揃え幅設定だが未指定なので0表記 "Order": 0 /設定値不明 DNDは0のようだ }, "ImageIndexOn": 95 /オン状態時画像ファイル指定 "ImageIndexOff"でオフ状態時画像ファイルも同時に指定可能 }, "Lock": { /ロック設定状態表示 "Coordinates": { "X": 92, "Y": 40, "BoxWidth": 20, "Alignment": 0, "Order": 1 /設定値不明 ロック状態表示は1のようだ }, "ImageIndexOn": 96 }, "Bluetooth": { /BlueTooth設定状態表示 "Coordinates": { "X": 76, "Y": 40, "BoxWidth": 20, "Alignment": 0, "Order": 1 /設定値不明 BlueTooth設定状態表示は1のようだ }, "ImageIndexOff": 97 /オフ状態時画像ファイル指定 }, "Battery": { /バッテリー情報 "BatteryConfig": { /バッテリー情報表示幅等設定 "BoxWidth": 55, "Alignment": 0, /揃え幅設定だが未指定なので0表記 "Order": 0 /設定値不明 バッテリー情報表示は0のようだ }, "Text": { /バッテリー情報数値表示設定 "TopLeftX": 72, "TopLeftY": 19, "BottomRightX": 102, "BottomRightY": 36, "Alignment": "HCenter", "Spacing": 1, "ImageIndex": 21, "ImagesCount": 10 }, "Icon": { /バッテリー情報画像ファイル指定 表示は0%用画像から以降100%÷(画像数−1)ごと上書き "X": 65, "Y": 0, "ImageIndex": 51, "ImagesCount": 9 } } }, "AnalogDialFace": { /アナログ時計設定(!秒針表示周りはアニメーションや心拍数状態画像表示設定と同時に使うと挙動が不安定になるので注意 "Hours": { /時針設定 "OnlyBorder": false, /縁のみ描画オンオフ設定 "Color": "0xFFFFFF", /時針の色指定 16進数で透明度2桁+6桁カラーコード他、"0xFFFFFF"の8ビットカラー値でも指定できるようだ "Center": { /時針基点描画位置設定 "X": 32, "Y": 31 }, "Shape": [ /時針形状設定 設定した各座標間を繋いだ図形を描画 座標は原点を左上に置いたX右方向Y下方向の値のとき3時方向に描画するもの { "X": -4, /時針形状描画の始点座標設定 マイナス値指定可能で基点位置からの絶対座標 終点と繋がるので注意 "Y": -2 /指定座標が多すぎると描画や表示が不安定になるので注意(10くらいまでが目安かも) }, { "X": -3, "Y": -1 }, { "X": 12, "Y": -1 }, { "X": 13, "Y": 0 }, { "X": 12, "Y": 1 }, { "X": -3, "Y": 1 }, { "X": -4, "Y": 2 } ] }, "Minutes": { /分針設定 "OnlyBorder": false, "Color": "0xFFFFFF", "Center": { "X": 32, "Y": 31 }, "Shape": [ { "X": -5, "Y": -2 }, { "X": -4, "Y": -1 }, { "X": 17, "Y": -1 }, { "X": 18, "Y": 0 }, { "X": 17, "Y": 1 }, { "X": -4, "Y": 1 }, { "X": -5, "Y": 2 } ], "CenterImage": { /針の基点位置画像ファイル指定(!時・分・秒針用各項目に入れられるが複数指定するとアナログ時計表示自体が安定しなくなるので注意) "X": 30, "Y": 28, "ImageIndex": 98 } ======================================= ※秒針設定例 このJSONファイルの場合、アニメーション機能や心拍数状態画像表示機能を利用しているので秒針を描画していない "Seconds": { /秒針設定 "OnlyBorder": false, "Color": "0xFFFFFF", "Center": { "X": 32, "Y": 31 }, "Shape": [ { "X": -5, "Y": -2 }, { "X": -4, "Y": -1 }, { "X": 17, "Y": -1 }, { "X": 18, "Y": 0 }, { "X": 17, "Y": 1 }, { "X": -4, "Y": 1 }, { "X": -5, "Y": 2 } ], "CenterImage": { /針の基点位置画像ファイル指定(1つまで推奨) "X": 30, "Y": 28, "ImageIndex": 98 } ======================================= } }, "Other": { /アニメーション表示設定(!秒数表示で動作しない およびアナログ秒針表示で動作不安定になるので注意) "Animation": { "AnimationImage": { /表示画像ファイル指定 "X": 60, "Y": 60, "ImageIndex": 99, "ImagesCount": 2, "X3": 0 /設定値不明 }, "Speed": 5, /画像間隔時間指定 推奨値0〜45 50以上は点滅 単純なミリ秒指定では無いようだ x2値または画像枚数で変わる可能性あり "RepeatCount": 50, /アニメーション繰り返し回数 "x2": 200 /繰り返し終了後次繰り返しまでの間隔 推奨設定値100(おそらくミリ秒指定?) } }, "Heart": { /心拍数状態画像表示設定 "Scale": { /心拍数状態画像表示データ指定 心拍数 94以下/114/154/174/194以上の5段階に対応した画像のみ 表示は各画像切り替え表示 "StartImageIndex": 60, /1段階目画像ファイル指定 "Segments": [ { "X": 60, /1段階目画像表示座標設定 心拍数94以下のときにのみ表示 以後画像番号+1の画像ファイルが使われる "Y": 60 /この場合アニメーション画像と同じ座標に透過しない画像を重ねることで心拍数95以上でアニメーションする画像を作っている }, { "X": 0, "Y": 0 }, { "X": 0, "Y": 0 }, { "X": 0, "Y": 0 }, { "X": 19, /5段階目画像表示座標設定 心拍数194以上のときにのみ表示 "Y": 130 /この場合心拍数値表示の近くに注意アイコンを表示させる形になっている } ] } } }