2011-11-01 83 views
3

我想获取我在Windows Phone 7中拍摄的所有图像的EXIF标签。我尝试过使用ExifLib,但似乎无法正确使用它。获取Windows Phone 7中的EXIF标签

在我的事件处理程序CaptureImageAvailable我有以下代码:

JpegInfo info = ExifReader.ReadJpeg(e.ImageStream, "Pic.jpeg"); 
Dispatcher.BeginInvoke(delegate() 
{ 
     textBox1.Text = info.ExposureTime.ToString(); 
     textBox2.Text = info.FNumber.ToString(); 
           }); 

e.ImageStream.Close(); 

两个textBox1textBox2都显示为0。

我 “Cam.Capture事件” 是每200毫秒发射。这对这些值有什么影响吗?

任何帮助将不胜感激! :)

+0

也许这些标签不存在于您的图片? –

+0

但它必须存在..因为图片是从相机本身取得的! :( – Gowtham

回答

2

我认为你的代码一切正常,值只是没有设置。

这里是证据,这不是你的错:

  • 看一看this blog post这主要是阅读EXIF数据的教程。在这里你可以找到数据的截图:设置了很多值,但是你需要的值也是0.但是我不确定这张照片是否真的是用手机拍摄的。

  • 所以我测试了一下自己,其值如下;你需要的字段为0,以及:

    Artist "" 
    Copyright null 
    DateTime "2011:11:01 20:50:07" 
    Description null 
    ExposureTime 0.0 
    FileName "\\Applications\\Data\\[GUID]\\Data\\PlatformData\\CameraCapture-[GUID].jpg.jpg" 
    FileSize 789355 
    Flash No 
    FNumber 0.0 
    GpsLatitude {double[3]} 
    GpsLatitudeRef Unknown 
    GpsLongitude {double[3]} 
    GpsLongitudeRef Unknown 
    Height 1944 
    IsColor true 
    IsValid true 
    LoadTime {00:00:00.1340000} 
    Make "HTC" 
    Model "7 Trophy" 
    Orientation TopRight 
    ResolutionUnit Inch 
    Software "Windows Phone 7.5" 
    ThumbnailData {byte[14913]} 
    ThumbnailOffset 518 
    ThumbnailSize 14913 
    UserComment null 
    Width 2592 
    XResolution 72.0 
    YResolution 72.0 
    

貌似做的事情与EXIF每200ms是原因。出于好奇,我在与PC同步图片后再次看到EXIF数据。价值只是不存在。抱歉。

+0

非常感谢Heinrich,它帮助我们澄清了很多混淆问题。你认为Windows Phone 7不能正确保存exif数据吗?我下载了一张样本图片并在我的电脑上检查过它。 exif标签我需要。这是网址http://www.mobiletechworld.com/wordpress/wp-content/uploads/2011/07/WP_000272-3-Large.jpg请检查并回复您的评论。非常感谢再次! – Gowtham

+0

PS我需要得到3个值,即ISO,曝光时间和F.Stop编号。你可以发现,与Windows手机拍摄的链接图像具有所有必要的属性。我只需要一种方法来阅读这些!:) – Gowtham

+0

我看到,链接后面的图像已设置所有标记。那么,他们要么“增强”他们的目的,要么功能取决于供应商和/或型号和/或固件。我的是一款运行芒果的HTC战利品。你的位置?如果其他人用相机测试并公布了结果,那将会很好。 –