SeaGate Blog
本館 別館 ブログ
プロフィール
スポンサーサイト
SeaGateコレクション



アーカイブ
ブックマーク
検索


カウンター
合計: 1440633
本日: 228
昨日: 331
コントロールパネル
BROACHのアカウントをお持ちの場合、こちらからログインして下さい

RSS



Powered By
プロバイダーぷらら | Broach v1.3.2 (1522)

JPEGファイルのXMPメタデータ取得(その後)

ちょっと前の記事で.NET Framework 3.0開発環境を構築したと書きましたが、その理由の一つが、これも以前書いた画像管理システム(というより検索システム)で写真のスキャン時にJPEG画像に埋め込んだXMPメタデータを取得して検索用のインデックスを作成するためでした。

現在実装している取得方法はとにかく力技なのですが、WPFアプリケーションで使用するために.NET Framework 3.0で追加されたSystem.Windows.Media.Imaging名前空間のBitmapMetadataクラスを使用すれば、EXIFやXMP、IPTCメタデータの取得や設定を簡潔に記述できます。

で、XMPメタデータを取得するには、WindowsBaseとPresentationCoreに参照設定し、以下のように記述すればOKのようです。

using System.Windows.Media.Imaging;

Stream jpegStream = new FileStream(@"hogehoge.jpg", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
JpegBitmapDecoder jpegDecoder = new JpegBitmapDecoder(jpegStream, BitmapCreateOptions.None, BitmapCacheOption.None);
BitmapMetadata bitmapMatadata = (BitmapMetadata)jpegDecoder.Frames[0].Metadata;
System.Diagnostics.Debug.WriteLine(bitmapMatadata.Title);
System.Diagnostics.Debug.WriteLine(bitmapMatadata.Comment);
jpegStream.Close();

Windows VistaならOS標準でこのようなメタデータの取得・設定ができるので、WindowsフォトギャラリーやAdobe Photoshop Elementsの写真整理モードなどの画像管理ソフトの相互運用が楽になり、比較的安心して画像にメタデータを埋め込むことができるようになってきました。ここではMicrosoftとAdobeは喧嘩しなかったんですね。(^^ゞ

このエントリーをはてなブックマークに追加  Clip to Evernote  Spring it! 
SeaGate: 2007.7.30 | コメント (0) | トラックバック (0) | リンク (0) | ▲TOP

Trackback:

このエントリーのトラックバックURL:
http://pub.ne.jp/tb.php/805071
inserted by FC2 system