Como você colocar etiquetas EXIF ??em um JPG, tendo o tampão jpeg cru em C ++?
Pergunta
Estou tendo um pouco de um problema.
Eu recebo um char RAW * buffer de uma câmera e eu preciso adicionar este Etiquetas antes que eu possa salvá-lo no disco. Escrevendo o arquivo em disco e lê-lo de volta não é uma opção, pois isso irá acontecer milhares de vezes.
Os dados do buffer que recebo da câmara não contém qualquer informação EXIF, para além da largura, altura e pixels por polegada.
Todas as idéias? (C ++)
Solução
Olhe este PDF , na página 20 você tem um diagrama mostrando que você estava para o lugar ou modificar suas informações EXIF. Qual é a diferença com um arquivo no disco?
O tamponar o JPEG de sua câmera contém uma seção EXIF ??já?
Outras dicas
Qual é a diferença? Por que fazê-lo em um arquivo no disco seria diferente de fazê-lo na memória?
Basta fazer tudo o que você faz depois de ler o arquivo a partir do disco ..
Tanto quanto eu sei dados EXIF ??em JPEG é sub contínuo de arquivo. Então
- preparar dados EXIF ??na memória
- gravar parte do arquivo JPEG até EXIF ??
- gravar preparado EXIF ??
- gravar resto do arquivo JPEG
Você pode querer dar uma olhada no Exiv2 biblioteca . Eu sei que pode trabalhar em arquivos, mas suponho que também tem funções para trabalhar em buffers de memória.