早安,
用我的尼康数码单反相机,我总是拍摄原始照片。我想在导入文件夹中导入我的nef,然后使用名称复制它们,并以日期为前缀。在Lazarus我创建了一个名为TMyNef的类,我设法检索了日期,ISO,Shutterspeed,F-Stops,曝光程序,制造商,模型和焦距。我正在努力克服嵌入式JPG的偏移。我需要这个,因为Lazarus TImage组件不支持NEF格式,但它可以完美地显示JPG。每个NEF都有一个嵌入式JPG(你在相机背面看到),隐藏在NEF的PreviewTAG中。基本上,NEF几乎与TIFF相同。 Tiff使用IFD-s来存储元信息。所以,我研究了许多关于tiff,exif,Exiftool(Phil Harvey),DCRaw(Dave Coffin)的网站我使用Exiftool.exe来分析我的nef。我甚至在我的程序中调用了“Exiftool.exe -b”,但速度很慢。 不久,它归结为:概括为: 打开nef,搜索标签x08769,搜索0x927C,搜索0x0011,搜索0x0201。
“Goto”表示在这种情况下:将filepointer移动到给定的偏移量。
不幸的是,我无法检索嵌入式JPG的偏移量。我的节目与Phil Harvey的“Exiftool”完全不同。 跳到“Phil的偏移”并读取到0xFFD9或读取标签0x202中给出的字节数,显示一个完美的图片,转到我的程序找到的偏移量并读取到0xFFD9,Lazarus说:不支持的图片格式。 在几个IFD中,我找到了我需要的元数据,所以我随身携带了它。
有没有人知道在NEF中检索嵌入式JPG的正确偏移的方法?或者是否有其他方法通过Lazarus中的TImage组件显示NEF?
先致谢谢,并致以诚挚的问候, 马丁 (英特尔I5,8Gb,Windows 10,加载尼康编解码器,Lazarus 1.8)
答案 0 :(得分:0)
Exif结构中的偏移量通常相对于第一个Exif标记前面的TIFF标题的开头。对于jpeg和tiff文件都是如此,不确定NEF。