¿Cómo se colocan etiquetas EXIF ​​en un JPG, teniendo el búfer jpeg sin formato en C++?

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

  •  01-07-2019
  •  | 
  •  

Pregunta

Estoy teniendo un pequeño problema.

Obtengo un búfer RAW char* de una cámara y necesito agregar estas etiquetas antes de poder guardarlo en el disco.Escribir el archivo en el disco y volver a leerlo no es una opción, ya que esto sucederá miles de veces.

Los datos del búfer que recibo de la cámara no contienen ninguna información EXIF, aparte del ancho, el alto y los píxeles por pulgada.

¿Algunas ideas?(C++)

¿Fue útil?

Solución

Mira este PDF, en la página 20 tienes un diagrama que muestra cómo colocar o modificar tu información exif.¿Cuál es la diferencia con un archivo en disco?

¿El buffer JPEG de su cámara ya contiene una sección EXIF?

Otros consejos

¿Cual es la diferencia?¿Por qué sería diferente hacerlo en un archivo en el disco que hacerlo en la memoria?

Simplemente haga lo que sea que haga después de leer el archivo del disco.

Hasta donde yo sé, los datos EXIF ​​en JPEG son una subparte continua del archivo.Entonces

  1. preparar datos EXIF ​​en la memoria
  2. escribir parte del archivo JPEG hasta EXIF
  3. escribir EXIF ​​preparado
  4. escribir el resto del archivo JPEG

Quizás quieras echar un vistazo a Exiv2 biblioteca.Sé que puede funcionar con archivos, pero supongo que también tiene funciones para trabajar con buffers de memoria.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top