PNG 格式

PNG 格式

PNG是20世紀90年代中期開始開發的圖像檔案存儲格式,其目的是企圖替代GIF和TIFF檔案格式,同時增加一些GIF檔案格式所不具備的特性。流式網路圖形格式(PortableNetworkGraphicFormat,PNG)名稱來源於非官方的“PNG'sNotGIF”,是一種點陣圖檔案(bitmapfile)存儲格式,讀成“ping”。

PNG 格式 基本介紹

PNG 格式PNG
PNG 格式PNG示例

便攜網路圖形 (PNG) 格式是作為 GIF 的無專利替代品開發的,用於無損壓縮和在 Web 上顯示圖像。 與 GIF 不同,PNG 支持 24 點陣圖像並產生無鋸齒狀邊緣的背景透明度;但是,某些 Web 瀏覽器不支持 PNG 圖像。 PNG 格式支持無 Alpha 通道RGB、索引顏色、灰度和點陣圖模式的圖像。 PNG 保留灰度和 RGB 圖像中的透明度

PNG(Portable Network Graphics)是一種新興的網路圖像格式。在1994年底,由於Unysis公司宣布GIF擁有專利的壓縮方法,要求開發GIF軟體的作者須繳交一定費用,由此促使免費的png圖像格式的誕生。PNG一開始便結合GIF及JPG兩家之長,打算一舉取代這兩種格式。1996年10月1日由PNG向國際網路聯盟提出並得到推薦認可標準,並且大部分繪圖軟體和瀏覽器開始支持PNG圖像瀏覽,從此PNG圖像格式生機煥發

png格式的優點

PNG是目前保證最不失真的格式,它汲取了GIF和JPG二者的優點,存貯形式豐富,兼有GIF和JPG的色彩模式;它的另一個特點能把圖像檔案壓縮到極限以利於網路傳輸,但又能保留所有與圖像品質有關的信息,因為PNG是採用無損壓縮方式來減少檔案的大小,這一點與犧牲圖像品質以換取高壓縮率的JPG有所不同;它的第三個特點是顯示速度很快,只需下載1/64的圖像信息就可以顯示出低解析度的預覽圖像;

PNG 格式PNG示例因為不允許上傳png格式的檔案,所以這裡一律截圖。
PNG示例

第四,PNG同樣支持透明圖像的製作,透明圖像在製作網頁圖像的時候很有

用,我們可以把圖象背景設為透明,用網頁本身的顏色信息來代替設為透明

色彩,這樣可讓圖像和網頁背景很和諧地融合在一起。

png格式的缺點

PNG的缺點是不支持動畫套用效果,如果在這方面能有所加強,簡直就可以完全替代GIF和JPEG了。Macromedia公司的Fireworks軟體的默認格式就是PNG。現在,越來越多的軟體開始支持這一格式,而且在網路上也越來越流行。

多大
PNG示例

png檔案格式特點

1、每個像素為48位的真彩色圖像。

PNG 格式PNG示例

2、每個像素為16位的灰度圖像。

3、可為灰度圖和真彩色圖添加α通道。

4、添加圖像的γ信息。

5、使用循環冗餘碼(cyclicredundancycode,CRC)

檢測損害的檔案。

6、加快圖像顯示的逐次逼近顯示方式。

7、標準的讀/寫工具包。

8、可在一個檔案中存儲多幅圖像。

png的檔案結構

PNG圖像格式檔案(或者稱為數據流)由一個8位元組的PNG檔案署名(PNGfilesignature)域和按照特定結構組織的3個以上的數據塊(chunk)組成。

PNG定義了兩種類型的數據塊,一種是稱為關鍵數據塊(criticalchunk),這是標準的數據塊,另一種叫做輔助數據塊(ancillarychunks),這是可選的數據塊。關鍵數據塊定義了4個標準數據塊,每個PNG檔案都必須包含它們,PNG讀寫軟體也都必須要支持這些數據塊。雖然PNG檔案規範沒有要求PNG編解碼器對可選數據塊進行編碼和解碼,但規範提倡支持可選數據塊。

(1)PNG檔案署名域
8位元組的PNG檔案署名域用來識別該檔案是不是PNG檔案。該域的值是:
十進制數13780787113102610
十六進制數89504e470d0a1a0a
 
(2)數據塊的結構
每個數據塊都由表1所示的的4個域組成。

PNG檔案數據塊的結構
名稱位元組數說明
Length(長度)4位元組指定數據塊中數據域的長度,其長度不超過(231-1)位元組
ChunkTypeCode(數據塊類型碼)4位元組數據塊類型碼由ASCII字母(A-Z和a-z)組成
ChunkData(數據塊數據)可變長度存儲按照ChunkTypeCode指定的數據
CRC(循環冗餘檢測)4位元組存儲用來檢測是否有錯誤的循環冗餘碼
 
在表1中,CRC(cyclicredundancycheck)域中的值是對ChunkTypeCode域和ChunkData域中的數據進行計算得到的。CRC具體算法定義在ISO3309和ITU-TV.42中,其值按下面的CRC碼生成多項式進行計算:
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1(x^n表示x的n次方)

數據塊結構
1.關鍵數據塊

關鍵數據塊中的4個標準數據塊是:

(1)檔案頭數據塊IHDR(headerchunk):它包含有PNG檔案中存儲的圖像數據的基本信息,並要作為第一個數據塊出現在PNG數據流中,而且一個PNG數據流中只能有一個檔案頭數據塊。

檔案頭數據塊由13位元組組成,它的格式如表2所示。
表2PNG檔案頭鍵數據塊的結構
域的名稱位元組數說明
Width4bytes圖像寬度,以像素為單位
Height4bytes圖像高度,以像素為單位
Bitdepth1byte圖像深度
索引彩色圖像:1,2,4或8
灰度圖像:1,2,4,8或16
真彩色圖像:8或16
ColorType1byte顏色類型:
0:灰度圖像,1,2,4,8或16
2:真彩色圖像,8或16
3:索引彩色圖像,1,2,4或8
4:帶α通道數據的灰度圖像,8或16
6:帶α通道數據的真彩色圖像,8或16
Compressionmethod1byte壓縮方法(LZ77派生算法)
Filtermethod1byte濾波器方法
Interlacemethod1byte隔行掃描方法:
0:非隔行掃描
1:Adam7(由AdamM.Costello開發的7遍隔行掃描方法)

 
(2)調色板數據塊PLTE(palettechunk):它包含有與索引彩色圖像((indexed-colorimage))相關的彩色變換數據,它僅與索引彩色圖像有關,而且要放在圖像數據塊(imagedatachunk)之前。真彩色的PNG數據流也可以有調色板數據塊,目的是便於非真彩色顯示程式用它來量化圖像數據,從而顯示該圖像。調色板數據塊結構如表3所示。
表3調色板數據塊結構
域的名稱位元組數說明
Red1byte0=黑,255=紅
Green">
0=黑,255=綠
Blue1byte0=黑,255=藍
 
調色板實際是一個彩色索引查找表,它的表項數目可以是1~256中的一個數,每個表項有3位元組,因此調色板數據塊所包含的最大位元組數為768。
(3)圖像數據塊IDAT(imagedatachunk):它存儲實際的數據,在數據流中可包含多個連續順序的圖像數據塊。
(4)圖像結束數據IEND(imagetrailerchunk):它用來標記PNG檔案或者數據流已經結束,並且必須要放在檔案的尾部。

除了表示數據塊開始的IHDR必須放在最前面,表示PNG檔案結束的IEND數據塊放在最後面之外,其他數據塊的存放順序沒有限制。

2.輔助數據塊
PNG檔案格式規範制定的10個輔助數據塊是:
(1)背景顏色數據塊bKGD(backgroundcolor)。
(2)基色和白色度數據塊cHRM(primarychromaticitiesandwhitepoint)。所謂白色度是指當R=G=B=最大值時在顯示器上產生的白色度。
(3)圖像γ數據塊gAMA(imagegamma)。
(4)圖像直方圖數據塊hIST(imagehistogram)。
(5)物理像素尺寸數據塊pHYs(physicalpixeldimensions)。
(6)樣本有效位數據塊sbit(significantbits)。
(7)文本信息數據塊tEXt(textualdata)。
(8)圖像最後修改時間數據塊tIME(imagelast-modificationtime)。
(9)圖像透明數據塊tRNS(transparency)。
(10)壓縮文本數據塊zTXt(compressedtextualdata)。

3.數據塊摘要
關鍵數據塊、輔助數據塊和專用公共數據塊(special-purposepublicchunks)綜合在表4中。
表4PNG檔案格式中的數據塊
數據塊符號數據塊名稱多數據塊可選否位置限制
IHDR檔案頭數據塊否否第一塊
cHRM基色和白色點數據塊否是在PLTE和IDAT之前
gAMA圖像γ數據塊否是在PLTE和IDAT之前
sBIT樣本有效位數據塊否是在PLTE和IDAT之前
PLTE調色板數據塊否是在IDAT之前
bKGD背景顏色數據塊否是在PLTE之後IDAT之前
hIST圖像直方圖數據塊否是在PLTE之後IDAT之前
tRNS圖像透明數據塊否是在PLTE之後IDAT之前
oFFs(專用公共數據塊)否是在IDAT之前
pHYs物理像素尺寸數據塊否是在IDAT之前
sCAL(專用公共數據塊)否是在IDAT之前
IDAT圖像數據塊是否與其他IDAT連續
tIME圖像最後修改時間數據塊否是無限制
tEXt文本信息數據塊否是無限制
zTXt壓縮文本數據塊是是無限制
fRAc(專用公共數據塊)是是無限制
gIFg(專用公共數據塊)是是無限制
gIFt(專用公共數據塊)是是無限制
gIFx(專用公共數據塊)是是無限制
IEND圖像結束數據否否最後一個數據塊

tEXt和zTXt數據塊中的標準關鍵字:
Title
圖像名稱或者標題

Author
圖像作者名

Description
圖像說明

Copyright
著作權聲明

CreationTime
原圖創作時間

Software
創作圖像使用的軟體

disclaimer
棄權

Warning
圖像內容警告

Source
創作圖像使用的設備

Comment
各種注釋

png與jpg之間的轉換

最簡單的方法,用Windows自帶的畫圖,打開jpg檔案,然後檔案另外儲存為(PNG)

或者用用photoshop打開圖,然後另外儲存為,保存成png格式就成

PNG格式的圖片還可以用QuickConvert軟體變換格式

相關詞條

相關搜尋

熱門詞條

聯絡我們