常見圖片格式詳解(四)---png

本篇簡單梳理一下關於png格式圖片的那些事。

一、簡介

PNG圖片是由很多個數據塊組成的,每一個數據塊代表不同的有關於圖片的信息。除png頭以外,每一個數據塊都是按照數據長度+數據標識符+CRC校驗碼的結構來組織。如下圖:

常見圖片格式詳解(四)---png

二、主要的PNG數據塊

  1. PNG圖片的頭信息用8個字節來唯一標識圖像的類型。

常見圖片格式詳解(四)---png

“89 50 4E 47 00 DA 1A 0A” 爲png文件的標識符

2 在頭標識之後,緊跟着的是叫做IHDR的數據段,包含了圖像的高度,寬度,位深等相關信息。

常見圖片格式詳解(四)---png

3 IDAT是PNG中主要的壓縮數據信息,其大概結構如圖:
常見圖片格式詳解(四)---png

4 在文件結束的時候,有文件結束的標誌,同樣按照數據段的組織格式組織,不過數據長度爲0 。

常見圖片格式詳解(四)---png

三、主要數據塊的位置要求

不同的數據塊,在PNG文件存儲組織的時候有一定的位置和要求的限制,看下圖就瞭然了。

常見圖片格式詳解(四)---png

結語

當然,PNG還有其他的一些數據段,不過萬變不離其蹤,其組織方式依然是類似的,只是不同操作系統、工具或者平臺產生的PNG圖片的組織格式可能不完全一樣。只要抓住了最關鍵的IHDR, IDAT以及文件的開頭和結束標識符,其他依此類推。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章