(追記:この記事にある0.5ピクセルのズレはiOS 12でなくなりました)
また、壁紙の全体表示も厳密には不可能になっています。
0.5ピクセル
突然ですが画像の最小単位は1ピクセルです。すべての画像は各ピクセルの色のグラデーションで作られます。
では例えば0.5ピクセルというのは存在するのでしょうか? 実は設定上は存在します(ソフトにもよるかもしれませんが100分の1ピクセル単位での調整も不可能ではありません)。1ピクセルを白黒それぞれ0.5ピクセルで分割することもできます。
ただしこれを画像として出力すると1ピクセルのグレー1色になります。0.5ピクセルは設定上存在するものの実在はしないということです。
iPhone Xで壁紙を設定すると
iPhone Xの写真アプリで画像を表示させて「壁紙に設定」をタップするとこの画面になります。
初期状態の「静止画」 |
注目は「静止画|視差効果」の部分。「静止画」が選択された状態です。
前回の記事でも書いたように、これまでのiPhoneとは逆にXでは「視差効果」をタップしなければ「静止画」になります。表示は左右と下がカットされています。
「視差効果」をタップすると 画像が上に移動して中央表示に |
では静止画だとそれぞれどれくらいカットされているのでしょう。この重箱の隅をつつくような疑問が、意外な事実に辿りつくきっかけになりました。
Xの「静止画」は0.5ピクセル単位で表示される
「静止画」の位置の特定はなかなかの難題でした。前回割り出した視差効果での仮想サイズ1301×2820ピクセルにスクリーンショットを置くところから始めて、位置やサイズ(視差効果と同じだとは限りません)を色々変えてもどうしても合わないのです。
結局一番いい線いったのが下です(アイコンのずれがわかりやすいように壁紙に張り付けたスクショとは違うページで検証しています)。
このページの画像はすべて タップして拡大できます |
壁紙サイズは視差効果同様1301×2592、位置は左から56.5ピクセル、上から59.5ピクセル。所々アイコンの周りに薄い縁が付いているのは、0.5ピクセル設定のために、周囲と色が混ざる1ピクセルの範囲が存在するためです(色によっっては目立ちません)。
まさか0.5ピクセル単位?とは思いますが、もしも壁紙サイズが違っていたら、このように離れた場所の幅1ピクセルの縁がぴったり合うことはあり得ません。位置も同様です。
完全にあり得ないことを取り除いて残ったものが、いかにありそうにないことでも真実なのだよワト◯ン君。
画質はどう劣化するのか?
始めに断っておくと、仮に0.5ピクセルずれて境界がぼやけたとしても、普通はほとんど見分けがつかないと思います。グラデーションならなおさらです。派手な色でごまかすこともできるかもしれません。
普通の絵ならまず区別はつきません |
しかし1ピクセルの線がどこかにあったら? それを元の色で表現することはできないはずです。
下の画像は左がテスト用壁紙の制作データ、真ん中が静止画で設定したスクリーンショットを原寸で取り込んだもの、右が視差効果のスクリーンショットです。
壁紙は1301×2820ピクセル、フレームは視差効果用のポジションです。
私が使っているSketchというアプリは拡大すると1ピクセル単位のグリッドが表示されます。まず、黒い四角部分のオリジナルの制作データを拡大します。
黒い四角の中にある白い線は幅1ピクセルで作っています。
一方静止画のスクショを拡大すると、
白い線は周囲の黒と混ざって幅2ピクセルのグレーになってしまいました。これくらい極端な条件だとiPhoneのスクリーンで見てもよく見ると白くないのが分かってしまいます。
視差効果で設定したスクショはどうでしょう。
幅1ピクセルのままの綺麗な白です(このことからも前回割り出したiPhone Xの視差効果の壁紙サイズは正しいと考えられます)。
もっとも、視差効果では壁紙が動きますから、傾けるとグレーになることがあります。
傾きに応じて白くなったりグレーになったりでちらちらします(こうなると「動く静止画の壁紙」が動く原理はモアレなのか?という疑問が出てきます。モアレがなくても小数ピクセルをまたぐことで明るさが変化します。あるいは両方かもしれませんが、とりあえずそれはまた別の話です)。
さて、静止画の画質劣化が0.5ピクセル単位の位置によるものなら、元から0.5ピクセルずらしておいたらどうでしょう? 残念ながらその場合は元の画像がぼやけるだけです。
設定する時に「視差効果」をタップすると壁紙が動いて視差効果用の表示位置に来るので、そこで「静止画」をタップするのはどうでしょう? ところがこれでも0.5ピクセルずつずらされるようで、結果は同じでした。
移動して偶然きりのいい位置に来るというのもあり得ないとは言えませんが、0.5ピクセル単位でしか移動できないように作られていないとも言い切れません。何度か試した限りではそっちの可能性の方が高そうです。
ということで気になるかどうかは絵柄次第ではあるものの、iPhone Xの静止画設定では画像のわずかな劣化は避けようがないということになります。わざとなのか失敗なのかはわかりませんけど。
追記:調べてもよくわからなかったのですけどコントラストを少しでも下げて有機ELの焼き付きを防ぐ対策の一つ???
iPhone Xでは壁紙の全体表示も不可能に
ぴったりに表示するなら「視差効果を減らす」があるじゃないか、と思われるかもしれません。または私の壁紙のユーザーさんなら、いつものとおり「ピンチイン」でいいじゃないかと思われるかもしれません。この「視差効果を減らす」やピンチインが大問題なんです。
従来のiPhoneなら上記の方法で隅から隅までぴったり元の位置に表示されますよね。iPhone Xでも設定画面ではそうなっています。
ところが設定後のホーム画面は
左が「視差効果を減らす」で設定したホーム画面 右はピンチインで思い切り上に動かして設定 |
何ですかこの怪現象⁉︎
左右は合っています。縦だけが異様に伸びた状態です(ズレがだんだん大きくなっているというのは一定の比率で拡大されているということです)。細長くなりすぎて表示位置も安定しません。これに比べたら0.5ピクセル単位の位置設定なんてかわいいもんです。
iPhone Xでは壁紙全体を表示する方法は存在しないということになります。
全体表示を使った私のトリックは?
そこは大丈夫です。全体表示ができなくても位置さえ決まれば問題ありません。そのために静止画の位置が必要だったわけです。0.5ピクセルのズレも、絵柄に留意すれば何とでもなりますから。
0 件のコメント :
コメントを投稿
時間的な問題により技術的な質問及び壁紙のリクエストについては原則として返信致しません。ご要望を今後の制作の参考とさせていただくことはございます。
Due to time constraints, I will not reply to technical questions and wallpaper requests in principle. It might be a reference for the future wallpaper.