デジカメの画像ファイルをエクプローラーのプロパティで見ると、撮影日時などの情報が表示される。
これは、画像ファイル中のExif(Exchangeable image file format)情報などを取り出しているものだ。.NET Frameworkにも、こうした画像の情報を扱う機能があり、PowerShellから簡単にアクセスができる。ただし、Windowsは内部的には、Exifファイルを解析しているものの、すべての情報を出力することができない。それでも撮影日など主要な情報に関しては、取得することか可能だ。
画像ファイルのプロパティを取得
画像ファイルからプロパティ情報を取得するには、System.Drawing.Bitmapクラスを使う。PowerShellならそのままオブジェクトを作ればよく、Windows PowerShellならば、Add-Typeで「System.Drawing」アセンブリを読み込む。画像ファイルを指定してSystem.Drawing.Bitmapを作ったら、「PropertyItems」プロパティを表示すればよい。
add-type -AssemblyName system.Drawing # Windows PowerShellのみ必要
$x=New-Object System.Drawing.Bitmap(".\Sample01.JPG")
$x.PropertyItems
このPropertyItemsには、Exif 2.1で定義されたもののほかに、JPEG由来のものなど、画像ファイルから得られる情報が含まれている。ただ、残念なことにこのプロパティの出力するIdは整数のみで、Exifのどのタグかは表示されない。
Id番号からExifのタグ名を探せばよいのだが、それには、別途ドキュメントを見る必要がある。Windowsでは、このプロパティは、GDI+が扱っているため、Microsoftのサイトに情報がある。
●Imageプロパティのタグ定数
https://learn.microsoft.com/ja-jp/windows/win32/gdiplus/-gdiplus-constant-image-property-tag-constants
ただし、これはGDI+での定義であり、Exifのタグ名とは若干の違いがある。この定義で「PropertyTagExif」で始まるものは、Exif 2.1由来のタグであるが、一部先頭が異なるものがある。たとえば、デジカメのメーカーを示すExifの「Make」タグは、「PropertyTagEquipMake」になっている。なお定義はWindowsのSDK(Windows Kit)に含まれる「Gdiplusimaging.h」に記述されている。これを入手するには、Windows Kitをインストールする。
また、Exifは仕様書が公開されており、PDFなどで入手が可能である。現在の公式版は、Exif 2.32である。
●CIPA DC-008-2019 デジタルスチルカメラ用画像ファイルフォーマット規格 Exif 2.32
https://www.cipa.jp/std/documents/download_j.html?DC-008-2019-J
ただし、Exif 3.0が完成しており、原稿執筆時点では意見受付期間中としてドラフト版が公開されている。残念ながら、期限が終わりに近いので公開が止まっている可能性もある。
●CIPA 一般社団法人カメラ映像機器工業会: CIPA規格 WTO/TBT60日公開
https://www.cipa.jp/j/std/draft.html

この連載の記事
-
第399回
PC
Windowsではプロセスからプログラムに関するさまざまな情報が得られる -
第398回
PC
Windows Subsystem for Androidの進化を確認 エクスプローラーからのファイルのドラッグ&ドロップが可に -
第397回
PC
Windowsにおけるディスク、ドライブ、パーティションの扱いの違い -
第396回
PC
Windows 11における新規作成コンテキストメニュー -
第395回
PC
Windowsの「近距離共有」は微妙だが、Windows版も登場した「ニアバイシェア」は使える -
第394回
PC
コマンドの出力が長いとき、PowerShellではとりあえずselect-objectでなんとかする -
第393回
PC
Windows 11のWinUI3対応で、MicrosoftはWin32アプリ、さらにWindows自体を改良しようとしている -
第392回
PC
あらためてWindowsにおける2進数、10進数、16進数について -
第391回
PC
WindowsのNTFS/ReFSに搭載されている「再解析ポイント」とは何か? -
第390回
PC
この秋登場予定のWindows 11 Ver.23H2はどうなるか? -
第389回
PC
Windowsにおけるファイルリンクについてあらためて説明する - この連載の一覧へ