単純に画像を表示するのは綺麗。
ピンチで拡大したら、綺麗。
アプリユーザーは座標を細かく意識しなくていいので綺麗な画面はとても良い。
ただ、画像を編集しようとプログラミングする時に…。え?どういう事!
.Fit や .Fillはスクリーンショットに近いイメージなんだけど、
画像ファイルを読み込みそのまま表示させた時に違和感が出る。
Retinaの構造上?の事から起こるものらしい。
作業にてiPadでスクリーンショットを撮った画像ファイルをUIImageで読み込みスケール1でそのまま表示する。
画像widthはデバイス横幅と同じ? 画像ファイルは 2,360x1,640サイズ。(iPadのRetina公称同じ)
なのに表示されている画像はデバイス画面の中に入りきらず画像面積1/4(左上)部分になっている。
そして、自作スクロールと画像オフセットで画像自体の座標を取得すると...。
画像右下スクロール座標取得で画像MaxWidth、MaxHeightで画像座標はほぼ正常だった。
Swift iPad用プログラミングを初めてする者には戸惑う事柄。
ピクセルには物理ピクセルと論理ピクセルがある。
物理ピクセルは、1ドット=1ピクセル
論理ピクセルは、1ドット=複数ピクセル(2x2等)
スクリーンショットして画像ファイルに保存すると、2,360x1,640サイズになる。
プログラミングで画像ファイルから読み込みプレーン表示すると、1,180x820ドット部分しかデバイスに表示されない。
日記を書くにあたり、フルスクリーンの時のViewサイズを調べてみた。(今更だけど)
親viewの幅は 1,180、高さ 820 …。ふ~む^^;
今まで確認してなかった(笑)
確かに論理ピクセル(2x2)でした。
画像とデバイスの座標相関を留意しつつプログラミングする事が大切だと分かった。
C++脳には理解に時間がかかる(´;ω;`)