如何從Image中讀取Exif數據。 有ExifLib,但Lumia設備和數據採集字段有問題。 有沒有其他方式可以讀取Windows Phone上的Exif數據(7./8)。從WP上的Image上讀取Exif數據
問候
如何從Image中讀取Exif數據。 有ExifLib,但Lumia設備和數據採集字段有問題。 有沒有其他方式可以讀取Windows Phone上的Exif數據(7./8)。從WP上的Image上讀取Exif數據
問候
我使用ExifLib從這篇文章http://igrali.com/2011/11/01/reading-and-displaying-exif-photo-data-on-windows-phone/不會對Lumia 800的和710的任何問題,試試吧。如果您想獲取照片的位置,請確保您已將gps信息添加到在設置中啓用的照片。
您應該使用ExifLib。不幸的是,它不需要100%適應WP,所以需要更多的工作。
1)下載ExifLib ZIP,將其解壓縮,解鎖DLL(右鍵單擊 - >屬性 - >解除阻止),並從項目中添加對其的引用。與此同時,我在服務器上託管了郵政編碼@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();
謝謝伊戈爾。實際上,我幾個月前已經創建了名爲「Picture Info」的Windows Phone應用程序,但是Date採集的數據仍然存在問題。我使用了Tim的ExifLib。最後,你會嘗試使用我的應用程序,並找到你是否得到「Date taken」字段? –
我使用過Tim的ExifLib。最後,你會嘗試使用我的應用程序,並找到你是否得到「Date taken」字段?我有Lumia 800,它不適用於這個領域。 –
@SpasoLazarevic當然,將xap發送給igor(at)kulman.sk,我將在Lumia 800上進行測試 –