반응형

며칠간 삽질한 것을 잊지 않으려고 적는 포스팅


jpeg 파일에서 다양한 정보를 담는 Exif영역은 IFD[각주:1]로 구분되고, 제일 먼저 등장하는 것이 IFD0이다.

그리고, 각 IFD와 데이터의 저장 위치는 TIFF 헤더로부터의 offset으로 위치를 표현한다.


그리고, IFD0의 offset는 당연하게도 8이다.


Exif Version 2.3


자작 프로그램들 중에 exif를 수정하는 프로그램들은 이 값을 8로 하드코딩해서 만들었다.

그런데, 이 값이 8이 아닌 jpeg 파일을 만나게 됐다.


빨간 네모로 둘러쌓인 8바이트의 0은 그야말로 잉여값


당연히 프로그램은 오류를 유발하고 exif 영역이 망가졌다.

결국 8로 하드코딩한 부분을 모두 정상적으로 읽어서 처리하도록 수정해서 문제 해결.



  1. Image File Directory [본문으로]
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band