Libexif,附加新的exif数据

Nad*_*hat 6 c c++ jpeg libexif

我有一项任务是编辑exif标记并向其添加特定于应用程序的值.如果exif标签存在,libexif非常乐意编辑它们.但是如果exif标签不存在,我将不得不创建它们并将它们附加到文件中.libexif使用C fopen所以我认为没有一些IO操作会有一个简单的方法.我正在考虑将原始图像数据放入内存中,fopen(newfile,'w')添加exif数据然后追加图像数据.
只有当有人知道更简单的方法时,(我受限于libexif,libexiv2可能会产生一个liscence冲突).

Nad*_*hat 6

为了共同利益我将回答我自己的问题,exif应用程序有一个修改过的libjpeg,可以操作jpeg原始数据.它有类似的功能

jpeg_data_load_data (JPEGData *data, const unsigned char *d,unsigned int size);

jpeg_data_set_exif_data(myJPEGImage,exif); jpeg_data_save_file(myJPEGImage,"gangrene1.jpg");

这可以使用,像imagemagick这样的免费可用程序也有自己的libjpeg,libexif实现来操作exif和jpeg数据.希望这会有所帮助