如何将 EXIF 标签放入 JPG 中,并在 C++ 中拥有原始 jpeg 缓冲区?

StackOverflow https://stackoverflow.com/questions/90798

  •  01-07-2019
  •  | 
  •  

我遇到了一点问题。

我从相机获取 RAW char* 缓冲区,我需要添加此标签,然后才能将其保存到磁盘。将文件写入磁盘并再次读回不是一种选择,因为这种情况会发生数千次。

除了宽度、高度和每英寸像素数之外,我从相机接收到的缓冲区数据不包含任何 EXIF 信息。

有任何想法吗?(C++)

有帮助吗?

解决方案

看这个 PDF, ,第 20 页上有一个图表,显示您要放置或修改您的 exif 信息。与磁盘上的文件有什么区别?

您相机的 JPEG 缓冲区是否已包含 EXIF 部分?

其他提示

有什么不同?为什么对磁盘上的文件执行此操作与在内存中执行此操作有什么不同?

从磁盘读取文件后,只需执行任何操作即可。

据我所知,JPEG 中的 EXIF 数据是文件的连续子​​部分。所以

  1. 在内存中准备 EXIF 数据
  2. 将 JPEG 文件的一部分写入 EXIF
  3. 写入准备好的EXIF
  4. 写入 JPEG 文件的其余部分

您可能想看看 Exiv2 图书馆。我知道它可以处理文件,但我想它也有处理内存缓冲区的功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top