No img

png 포맷은 시그니처청크들로 이루어져있다.

 

Signature

오프셋 크기 내용 비고
0x00 8 Signature 89 50 4E 47 0D 0A 1A 0A

 

Chunk

Chunk는 이미지 관련된 특정 정보들을 담고 있으며 IHDR, PLTE, IDAT, IEND가 있다.

- IHDR chunk: 이미지 헤더 정보

- PLTE chunk: 팔레트 테이블 정보

- IDAT chunk: 이미지 데이터 정보

- IEND chunk: 이미지 trailer 정보

 

경우에 따라 보조 Chunk로 tRNS, cHRM, qAMA, iCCP, sBIT, sRGB, iTXt, iEXt, zTXt, bKGD, hIST, pHYs, sPLT, tIME가 올 수 있다.

-> 주요 청크는 첫 글자가 대분자로, 보조 청크는 첫 글자를 소문자로 표기한다.

 

오프셋 크기 내용 비고
0x00 4 길이  
0x04 4 종류  
0x08   데이터  
  4 CRC  

 

IHDR 청크(Image Header)

오프셋 크기 내용 비고
0x00 4 길이  
0x04 4 종류 IHDR(49 48 44 52)
0x08 4 width  
0x0C 4 height  
0x0D 1 bit depth  
0x0E 1 color type (0:Grayscale, 2:Truecolor, 3:Indexed-color, 4:Grayscale with alpha, 6: Truecolor with alpha)
0x0F 1 압축  
0x10 1 필터  
0x11 1 인터레이스 (0: no interlace, 1:adam7 interlace)
0x12 4 CRC