1

画像から Exif データを読み取る方法。ExifLib はありますが、Lumia デバイスとデータ取得フィールドに問題があります。Windows Phone (7./8) で Exif データを読み取る他の方法はありますか。

よろしくお願いします

4

2 に答える 2

1

そのためには 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();  
于 2012-12-06T01:32:50.917 に答える
1

この記事http://igrali.com/2011/11/01/reading-and-displaying-exif-photo-data-on-windows-phone/の ExifLib をLumia 800 および 710 で問題なく使用しています。 . 写真の場所を取得したい場合は、設定で写真への GPS 情報の追加が有効になっていることを確認してください。

于 2012-12-05T15:15:00.003 に答える