2012-06-20 3 views

답변

0

는 일반적으로 작은 이미지는 압축되지 않은 RGB 데이터이다. 마커를 찾고 썸네일의 너비/높이가 표시된 곳을 확인한 다음 그 너머의 바이트 스트림을 수정합니다. 스트림의 길이는 width * height * 3 바이트입니다.

색인이 생성 된 경우 팔레트와 색인 항목을 덮어 써야합니다. APP0 마커를 찾아 수정하십시오.

0

준수하는 EXIF ​​축소판 이미지는 64K APP1 마커에 맞아야하며 일반적으로 @Karthik이 말하는 것과 달리 JPEG로 압축됩니다. 축소판 이미지는 주 이미지와 독립적이며 주 이미지에 영향을 미치지 않는 마커 세그먼트 내부에 있으므로 쉽게 변경할 수 있습니다. JPEG 마커 세그먼트는 기본적으로 2 바이트 식별자 (이 경우 FFE1)와 2 바이트 길이를 갖는 독립 이진 얼룩의 링크 된 목록입니다. 하나를 다른 것으로 바꾸면 파일을 "중단"하지 않습니다. 체크섬이나 전체 파일 데이터 무결성을 확인하는 다른 메커니즘은 없습니다. 필자는이 정보를 편집하는 라이브러리에 익숙하지 않지만 내용을 알지 못하고 마커 모양과 길이 만 분석하면되는 적은 양의 코드로이 작업을 수행 할 수 있습니다. 또한 새로운 축소판 그림이 원래 크기보다 크지 않도록하고 "파일의 다른 부분을 움직이지 않고 그대로 복사하여"신속하고 더러운 방식으로 할 수 있습니다. 마커 길이는 내용과 비교하여 검사되지 않으므로 사용되지 않는 공간은 무시됩니다.

관련 문제