画像から Exif データを読み取る方法。ExifLib はありますが、Lumia デバイスとデータ取得フィールドに問題があります。Windows Phone (7./8) で Exif データを読み取る他の方法はありますか。
よろしくお願いします
画像から Exif データを読み取る方法。ExifLib はありますが、Lumia デバイスとデータ取得フィールドに問題があります。Windows Phone (7./8) で Exif データを読み取る他の方法はありますか。
よろしくお願いします
そのためには ExifLib を使用する必要があります。残念ながら、WP に 100% 適合しているわけではないため、もう少し手間がかかります。
1) ExifLib ZIPをダウンロードして解凍し、DLL のブロックを解除し (右クリック --> [プロパティ] --> [ブロック解除])、プロジェクトから参照を追加します。その間、サーバーで ZIP をホストしました @ http://JustinAngel.net/Storage/ExifLib.zip
2) 次に、Windows Phone から使用できるエントリ関数を作成する必要があります。これが私が使用するものです:
public class ExifReaderEx : ExifReader
{
protected ExifReaderEx(Stream stream)
: base(stream)
{
}
public static JpegInfo ReadJpeg(Picture picture)
{
Stream FileStream = null;
try
{
FileStream = picture.GetImage();
}
catch
{
return null;
}
DateTime now = DateTime.Now;
ExifReaderEx reader = new ExifReaderEx(FileStream);
reader.info.FileSize = (int)FileStream.Length;
reader.info.FileName = string.Format("{0}.jpg", "fileName");
reader.info.LoadTime = (TimeSpan)(DateTime.Now - now);
return reader.info;
}
}
3) を呼び出してコードを呼び出しExifReaderEx.ReadJpeg(myPicture)
ます。たとえば、次のコード スニペットは、すべてのメタデータを含む Exif アイテムのリストを返します。
var items =
new MediaLibrary().Pictures
.Select(picture => ExifReaderEx.ReadJpeg(picture))
.Where(exif => exif != null)
.ToList();
この記事http://igrali.com/2011/11/01/reading-and-displaying-exif-photo-data-on-windows-phone/の ExifLib をLumia 800 および 710 で問題なく使用しています。 . 写真の場所を取得したい場合は、設定で写真への GPS 情報の追加が有効になっていることを確認してください。