6

.Net の System.Drawing.Image クラスで公開されている PropertyItems を介して、画像から基本的な EXIF データを読み取るアプリを作成しました。ただし、これらのプロパティを介して Canon 固有の EXIF データを取得できません。この情報をどう読むか?Photoshop が読み取るため、ファイルに存在することはわかっています。

4

6 に答える 6

3

ずいぶん前に見つけたのですが、まだ使っていません。メーカー固有の情報が含まれているようでした。

http://renaud91.free.fr/MetaDataExtractor/

アップデート:

メタデータ エクストラクタ プロジェクトは、2002 年から Java で健在であり、現在は .NET で利用できます。Canon のメーカーノートだけでなく、Agfa、Casio、Epson、Fujifilm、Kodak、Kyocera、Leica、Minolta、Nikon、Olympus、Panasonic、Pentax、Sanyo、Sigma/Foveon、Sony のカメラとスキャナーのメーカーノートも包括的にサポートしています。

ここでは、いくつかの Canon (およびその他) のカメラ画像の出力例を参照できます。

このライブラリは、NuGet または GitHub から入手できます。

使用例:

IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);

foreach (var directory in directories)
foreach (var tag in directory.Tags)
{
    Console.Out.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
}

ここで更新された回答を参照してください: C# Retrieve Canon Specific EXIF Data

于 2010-04-25T07:48:35.700 に答える
2

フレームワークの v3 (またはそれ以降) に対してコンパイルしている場合は、BitmapSourceclassを使用して画像を読み込むことができます。これにより、Metadataプロパティを通じて EXIF メタデータが公開されます。これにより、写真の EXIF 情報との関連性が大幅に高まりますが、メーカー ノートは具体的なものであり、さらにデコードする必要があります。

于 2010-04-25T07:11:24.247 に答える
2

メタデータ エクストラクタプロジェクトは、2002 年から Java で健在であり、現在は .NET で利用できます。Canon の makernotes だけでなく、Agfa、Casio、Epson、Fujifilm、Kodak、Kyocera、Leica、Minolta、Nikon、Olympus、Panasonic、Pentax、Sanyo、Sigma/Foveon、Sony のカメラとスキャナーの makernotes も包括的にサポートしています。

ここで、いくつかの Canon (およびその他) のカメラ画像の出力例を参照できます

ライブラリはNuGetまたはGitHubから入手できます。

使用例:

IEnumerable<Directory> directories = ImageMetadataReader.ReadMetadata(path);

foreach (var directory in directories)
foreach (var tag in directory.Tags)
{
    Console.Out.WriteLine($"{directory.Name} - {tag.TagName} = {tag.Description}");
}

Mark Redman's answerの lib は、何年も前の私の Java ライブラリの古いポートであることに注意してください。私は現在、C# と Java の両方のプロジェクトを保守して、機能を同等にしています。

于 2015-09-24T21:54:14.623 に答える
1

BCL には、EXIF に役立つものは何も組み込まれていません。

このSO の質問と回答を見てください(.Net に最適な EXIF ライブラリは何ですか?)。EXIF データを取得するために使用できる商用ライブラリとオープン ソース ライブラリがいくつかあります。

于 2010-04-25T06:46:08.117 に答える
1

RAW ファイルの場合は、dcraw.netを使用して情報を取得できます。

于 2011-01-07T04:34:15.237 に答える