■No101475 (HattariB さん) に返信
>>exifの ID X112を取りだすと。rotation不要(=1)が帰ってくるのですが、
> extf ID:112=1ってのは、TopLeft(←が↑)らしいんですけど、それがなぜ回転不要なのかがわからない。
1 は、画素情報の先頭行(0th row)が top で、画素情報の先頭列(0th column)が left だということです。
> ポートレートで撮った写真をランドスケープで見る場合は回転が必要だけど、ポートレートで撮った写真をポートレートで見るなら、回転不要ですよね?
なるほど。私自身、仕様を読み解けていないので、画像が landscape / portrait の
いずれとなるのかについて、追加判断が必要になるのかどうかまでは把握できていません。
下記資料だと、0x112 の 値 1 が「1 = Horizontal (normal)」と書かれていた程度。
horizontal ってことは横長画像を基準としているのですかね?
https://exiftool.org/TagNames/EXIF.html
上記資料からリンクされている DC-008-Translation-2019-E.pdf (のアーカイブ)では、
0x0112 (=274) について下表のように記されていました。
でも日本語なら、下記の PDF の方がわかりやすいかも。(情報がちょっと古い?)
https://www.cipa.jp/std/documents/j/CIPA_DC-X008-2016-J.pdf
Value 0th Row 0th Column
----- ---------- ----------
1 top left side
2 top right side
3 bottom right side
4 bottom left side
5 left side top
6 right side top
7 right side bottom
8 left side bottom
Other (reserved) (reserved)
0x0112 [Orientation] の仕様は追い切れていないのですが、
もし、landscape / portrait の追加判断が必要な場合、
それは単純に画像の縦横比で判断で良いのもなのか否か。
(仮に square だった場合はどうなるのか?)
あるいは、カメラの仰角を示す 0x9405 の [CameraElevationAngle] で無理やり疑似判断するとか?
0x0112 と違って記録されていないことも多いと思いますが、記録されていた場合、
中身は SRATIONAL 型(SLONG 分数値)で、値は -180 以上 180 未満だそうです。
分母が 0xFFFFFFFF の場合は不明値扱い。
■No101436 (笹子能 さん) に返信
> VBを使い写真のサムネイルの方向情報を取りだそうとしています。exifの ID X112を取りだすと。
サムネイルということは、
thumbnail image (IFD1) の 0x0112 [Orientation] でしょうか。
それとも main image (IFD0) の 0x0112 [Orientation] の方?
画像によっては 0x0112 [Orientation] 以外に、メーカー独自タグの
[LevelOrientation] や [CameraOrientation] などをもっている場合がありますが、
これらの仕様が Web 上で見つけられない…。
|