Image MyImage = new Bitmap(PhotoName);
// 创建一个整型数组来存储图像中属性数组的ID
int[] MyPropertyIdList = MyImage.PropertyIdList;
发现PropertyIdList里面的ID不全 例如光圈这项就没有 用一些图片软件能提去例如ISEE 我用的官网的方法 利用PropertyIdList GetPropertyItem方法 能够提取62个参数 但是光圈 ISO等关键的没有

解决方案 »

  1.   

    你看看 ExifTool 有个控制台工具,可以导出属性xml,txt,json的。
      

  2.   

    你可以这样用 Process.Start("exiftool.exe -? xxx.txt")
    导出属性文件。然后从文件里取你要的属性值。用 exiftool.exe -help > D:\help.txt 导出帮助文档。我手边没有,记不住了。
      

  3.   

    exiftool.exe -x 1.jpg 1.txt 大概是这样的形式。
      

  4.   

    用 System.Windows.Media.Imaging.BitmapMetadata
      

  5.   

    很久之前,我试过读取 DC 的 Exif 信息,但是我发现不同品牌的相机拍出来的片片,Exif 信息是放在不同的位置,要针对所有不同品牌做相应的Exif对应就太没意思了,所以没有接着做这个事,如果 LZ 有好的方法,可以拿出来大家共享一下吗?
      

  6.   

    忘记注明了 我是做web开发 平台是asp.net
      

  7.   

    首先谢谢 fangxinggood和FengYuanMSFT
     对我的回复 不过你的方法我在asp.net上用不上 没有Process类
      

  8.   

    Process也能用,在 System.Diagnostics 命名空间下。不过对于 asp.net 应用,Process 不是个好办法。你可以看看能否用 袁峰 的方法。
      

  9.   

    System.Windows.Media.Imaging.BitmapMetadata
    好像不能用于asp.net吧?
      

  10.   

    .net 3.0 以上就可以用,需要添加WPF的dll:PresentationCore.dll
      

  11.   

    最后用了 windows 自带的 fso