1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第197回 Exif Exit

マイナビニュース / 2025年1月3日 12時47分

add-type -AssemblyName system.Drawing

を実行してSystem.Drawingクラスを読み込んでおく必要がある。

Exifのタグは数値で表現されているが、それを解釈するデータベースが標準では搭載されていない。タグを表す数値とExifタグ名を対応させる列挙値が必要になる。これは、Exifの仕様書に記載があるが、PowerShellに読み込める形式のファイルを作らねばならない。筆者が作ったものをGitHubに置いた。ここからEXIFTags.ps1ファイルを入手して、PowerShellのドットソースで読み込むことで、EXIFTagsという列挙値(enum)が定義される。同様にPtype.ps1でTypeプロパティを人が読める形式にできる。また、PrintValue.ps1には、Typeに基づいて、Valueを変換する関数が定義されている。

前記のコマンドを実行したあと($xが定義されたあと)に、この3つのファイルをPowerShellにドットソースコマンドで読み込む。以下のコマンドを使えば、タグID値をExifのタグ名として表示できる(写真02)。

$x.PropertyItems | sort id | select @{Name="IdHex";Expression={$_.id.ToString("X4")}},@{Name="TagName"; Expression={[EXIFTags]$_.Id }} ,@{Name="Val"; Expression={[Ptype]$_.Type}},Value, @{Name="DisplayValue"; Expression={printvalue $_.Type $_.Value}} | ft

PowerShellから直接Exifファイルのプロパティを扱えるため、例えば、ファイルをExifデータを元に振り分ける、あるいは、デジカメの機種ごとに撮影画像の数を数える、年間の撮影数を求めるといった処理が可能になる。

今回のタイトルネタは、タンジェリンドリームの1981年のアルバム「Exit」である。このアルバムには「Network 23」という曲が入っている。1987年の米国のドラマ「Max Headroom: 20 Minutes into the Future」に、登場するテレビ局の名前が「Network 23」である。特に言及はないが、何か関係があるのかも。なお、この番組は、1990年にNHKで「未来テレビ局 ネットワーク23」として放送された。
(塩田紳二)



この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください