νμΌ κ΅¬μ‘° ¶
PNG νμΌμ PNG μκ·Έλμ²μ μ¬λ¬κ°μ chunkλ‘ μ΄λ£¨μ΄μ§.
1. PNG file μκ·Έλμ² ¶
- PNGνμΌμ μ²μ 8λ°μ΄νΈλ λ€μμ μμ§ κ°λ€λ‘ μμ.
137 80 78 71 13 10 26 10
2. Chunk Layout ¶
- κ° chunkλ λ€ λΆλΆμΌλ‘ λλμ΄μ§λ€.
- Length : 4λ°μ΄νΈ. Length, Chunk Type, CRC κΈΈμ΄λ ν¬ν¨λμ§ μμ κ°μ΄λ€.
- Chunk Type : 4λ°μ΄νΈ. λ°λμ μνλ²³μ΄μ΄μΌ ν¨(νΈλ¦¬ν¨. κ°λ
μ±μ μν΄). μμ½λ, λμ½λλ μ΄ κ°μ μ΄μ§ κ°μΌλ‘ μΈμ§.
- Chunk Data : Type μ λ°λ₯Έ λ°μ΄ν°. κΈΈμ΄κ° 0μΌμ μμ.
- CRC : Chunk Type + Chunk Data μ λν 4 λ°μ΄νΈ CRC κ°.
- Length : 4λ°μ΄νΈ. Length, Chunk Type, CRC κΈΈμ΄λ ν¬ν¨λμ§ μμ κ°μ΄λ€.
3. Chunk μ΄λ¦μ§κΈ° κ·μΉ ¶
4. CRC μκ³ λ¦¬μ¦ ¶
5. Chunk Spec. ¶
- μ μΌ μ²μμλ IHDR chunkκ° μ€λλ°, λ€μμ μμλ‘ μ΄λ£¨μ΄μ Έ μλ€.
- Width : ν½μ
λ¨μμ μ΄λ―Έμ§ λλΉ
- Height : ν½μ
λ¨μμ μ΄λ―Έμ§ λμ΄
- Bit depth : νλμ μν(ν½μ
κ³Όλ λ€λ₯Έκ°λ
)λΉ λλ νλ νΈ μΈλ±μ€λΉ μ°μ΄λ λΉνΈμ μ
- Compression method : μ΄λ―Έμ§ λ°μ΄ν°λ₯Ό μμΆνλλ° μ°λ λ°©λ²
- Filter method : μ΄λ―Έμ§ λ°μ΄ν°μ λν μ μ²λ¦¬ λ°©λ². Compressionκ³Ό κ΄λ ¨.
- Interlace method : μ΄λ―Έμ§μ λν λΉνΈμ€λ.
Color Type Allowed Bit Depths Interpretation 0 1,2,4,8,16 Each pixel is a grayscale sample. 2 8, 16 Each pixel is an R, G, B triple. 3 1, 2, 4, 8 Each pixel is a palette index; a PLTE chunk must appear. 4 8, 16 Each pixel is a grayscle sample, followed by an alpha sample. 6 8, 16 Each pixel is an R, G, B triple, followed by an alpha sample.
- Width : ν½μ
λ¨μμ μ΄λ―Έμ§ λλΉ
- PLTE chunk : 256κ°μ μνΈλ¦¬λ₯Ό κ°μ. R, G, B μμ)
- IDAT chunk : μ€μ ν½μ
κ°. IDATλ μ¬λ¬κ°κ° μ¬ μ μλ€. (see also PNGFileFormat/ImageData)
- IEND chunk : λ°λμ μ΄ chunk λ‘ λλμΌ ν¨. Data κΈΈμ΄λ 0.
Summary ¶
Name | μ¬λ¬κ° νμ©? | νμΌμμ μμΉ μ μ½ |
IHDR | x | λ°λμ μ μΌ μμ μμΌν¨ (μ²μμ 8λΉνΈ μ μΈ) |
PLTE | x | IDATμ μ μμΌν¨ |
IDAT | o | μ¬λ¬κ°κ° μ¬μ©λλ€λ©΄ λ°λμ μ°μμ μ΄μ΄μΌ ν¨ |
IEND | x | λ°λμ μ μΌ λμ μμΌ ν¨ |
PNGFileFormat