【问题标题】:Get exif from file without Image class从没有 Image 类的文件中获取 exif
【发布时间】:2015-10-08 11:28:28
【问题描述】:

我正在尝试从 DNG 文件(不是缩略图)中获取 jpg 预览。据我所知,预览只是一个 exif 预览,而不是特定于 DNG。但是,尽管我在谷歌上搜索了很多,但我找不到任何关于专门从 c# 中文件的 exif 获取预览的信息。

http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html

从该站点看来,预览从标记 ID 0x0111,DNG 的 Group SubIFD1 开始。长度为 0x0117,SubIFD1。但是我真的不明白这个组是什么意思。我以前使用过 Image.GetPropertyItem() 但我认为因为该文件是 DNG,它不会让我将其作为图像加载,我得到一个内存不足异常,这显然意味着它是一种无法识别的像素格式.

图像格式是 exif 信息的组成部分,还是有办法在不需要解码 DNG 的情况下读取它?

我知道有一些用于打开 DNG 的库,但到目前为止,我未能成功地将这些库用于我的软件,我希望保持它的快速和轻便。如果我能把这个预览拿出来,那将是一个完美的情况。

【问题讨论】:

    标签: c# image exif


    【解决方案1】:

    DNG 规范是 TIFF 的扩展,所以如果你有一个支持 JPEG 压缩的 TIFF 解码器,它应该能够解码预览图像(预览是 JPEG 解码的)。不过,您可能需要“帮助”将解码器指向正确的子 IFD。

    否则,您可以解析 TIFF 结构,找到正确的 IFD,并使用 JPEG 解码器对嵌入的 JPEG 预览进行解码。

    我创建了一个reader in Java(仍在进行中),它​​解析 TIFF 结构并提取缩略图(如果存在)和预览(以及一些蹩脚的尝试来提取未压缩的 RAW CFA 数据,这远未完成)。虽然代码还没有达到生产质量,但它可能会给你一些启发。

    祝你好运! :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-24
      • 2010-09-08
      • 1970-01-01
      • 2013-09-11
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 2013-10-25
      相关资源
      最近更新 更多