.Net で jpeg 画像の EXIF 情報にアクセスするための簡単でわかりやすいソリューションを探しています。誰もこれを経験していますか?
7 に答える
オープンソースのライブラリを使用する場合は、私が作成したものをお勧めできますか?
メタデータ エクストラクタプロジェクトは、2002 年から Java で健在であり、現在は .NET で利用できます。
- オープンソース (Apache 2.0)
- 厳しくテストされ、広く使用されています
- 多くの画像タイプをサポート (JPEG、TIFF、PNG、WebP、GIF、BMP、ICO、PCX...)
- 多くのメタデータ タイプをサポート (Exif、IPTC、XMP、JFIF など)
- 多くのメーカー固有の分野をサポート (Canon、Nikon、...)
- 非常に高速 (合計 1.33 GB の最大 400 枚の画像を最大 3 秒で完全に処理)、メモリ消費量が少ない
- .NET 3.5、.NET 4.0+、および PCL 用のビルド
使用例:
IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
Console.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
フレームワークの v3 (またはそれ以降) に対してコンパイルしている場合は、BitmapSource
classを使用して画像を読み込むことができます。これにより、プロパティを通じて EXIF メタデータが公開されます。Metadata
新しい非常に高速なライブラリは、Simon McKenzie によるExifLib - A Fast Exif Data Extractor for .NET 2.0です。最終的にこれを使用しましたが、コードは使いやすく理解しやすいものです。撮影した日付に応じて名前を変更するアプリに使用しました。そのようなアプリが何回書かれたのだろうか。
ヒント: ExifReader オブジェクトの処理が完了したら、またはファイルを開いたままにして Dispose を呼び出すようにしてください。
私はAtalasoft の DotImage Photoが好きですが、これはクローズド ソース ソリューションであり、開発ライセンスあたり約 600 の費用がかかります。
Codeplex で DTools を確認することもできます。これは、標準の Fx を補完するために設計されたオープン ソース フレームワークです。Exif 関連のクラスがいくつか含まれています。
the one I have saved in feeddemon for me to check out more when I have time (when is that for a programmer? LOL) is below
ExifTagCollection - EXIF Metadata extraction library
Mike
このメタデータエクストラクタを確認してください。Javaで記述されていますが、C#にも移植されています。Javaバージョンを使用して、日付タグとモデルタグに基づいてjpegファイルの名前を変更する小さなユーティリティを作成しました。非常に使いやすいです。
数年前、私は JpegHammer と呼ばれる JPEG EXIF ファイルで作業するために、Omar Shahine と小さな JPEG EXIF アプリを開始しました。
彼はそのプロジェクトからライブラリを抽出し、それを PhotoLibrary と呼びました。これは、EXIF 2.2 タグの簡単な .NET ラッパーでした。残念ながら、GotDotNet サイトはなくなっており、CodePlex にはありません。Omar の Web サイトのリンクは機能せず、コピーもありません。
しかし、Google を調べてみると、おそらくそれが見つかり、うまくいくでしょう。