PNG ย่อมาจาก Portable Network Graphics รูปแบบนี้ถูกออกแบบขึ้นช่วงกลางทศวรรษ 1990 โดยนักพัฒนาที่ต้องการตัวแทนของ GIF เพราะวิธีบีบอัดข้อมูลที่ GIF ใช้ในตอนนั้นยังครอบคลุมอยู่ในสิทธิบัตร ผลลัพธ์คือรูปแบบไฟล์ที่ใช้ฟรี มีเอกสารกำกับครบถ้วน และเก็บทุกพิกเซลไว้ได้ตรงตามต้นฉบับ ต่อมาถูกยอมรับให้เป็นมาตรฐานโดย World Wide Web Consortium และ ISO ทุกวันนี้ไฟล์ PNG คือสิ่งที่ได้จากการกดปุ่มถ่ายภาพหน้าจอ การส่งออกโลโก้ หรือการบันทึกกราฟจากสเปรดชีต
วิธีที่ไฟล์ PNG เก็บรูปภาพของมัน
PNG เป็นรูปแบบที่ ไม่สูญเสียข้อมูล (lossless): ไฟล์ถูกบีบอัดแต่ไม่มีข้อมูลถูกทิ้งไป และเมื่อนำมาแตกไฟล์จะได้พิกเซลกลับมาตรงตามต้นฉบับทุกจุด การทำงานแบ่งเป็นสองขั้นตอน ขั้นแรกคือการกรอง โดยเขียนค่าพิกเซลในแต่ละแถวใหม่ให้เป็นค่าความต่างจากพิกเซลข้างเคียง ทำให้บริเวณที่ภาพเรียบกลายเป็นชุดตัวเลขขนาดเล็กต่อเนื่อง จากนั้นจึงใช้ตัวบีบอัดแบบทั่วไปมาบีบตัวเลขเหล่านั้น โดยใช้วิธีเดียวกับไฟล์ ZIP
ไฟล์ PNG ถูกสร้างขึ้นจากชุดบล็อกที่มีป้ายกำกับ เรียกว่า chunk โดยมี chunk บังคับอยู่สามประเภท: แบบหนึ่งอธิบายขนาดภาพ ประเภทสี และ bit depth แบบหนึ่งหรือมากกว่านั้นเก็บข้อมูลพิกเซลที่ถูกบีบอัด และอีกแบบหนึ่งระบุจุดสิ้นสุด ส่วนอื่น ๆ ทั้งหมดเป็นตัวเลือก ซึ่งทำให้รูปแบบไฟล์นี้ขยายความสามารถได้ PNG สามารถเก็บภาพขาวดำ ภาพสีแบบใช้พาเลต (indexed colour) หรือภาพสีเต็มที่ 8 หรือ 16 บิตต่อช่องสัญญาณ และมี alpha channel แบบแท้จริง หมายความว่าทุกพิกเซลสามารถทึบแสงสนิท โปร่งใสสนิท หรืออยู่กึ่งกลางระหว่างนั้นก็ได้ นี่คือเหตุผลที่ PNG เป็นรูปแบบหลักสำหรับโลโก้และกราฟิกอินเทอร์เฟซที่มีขอบนุ่มนวล รูปแบบพื้นฐานรองรับภาพนิ่งหนึ่งเฟรมเท่านั้น ส่วนภาพเคลื่อนไหวมีได้ผ่านส่วนขยายภายหลังที่เรียกว่า APNG
ข้อมูลเมทาดาทาที่ไฟล์ PNG มี
Metadata คือข้อมูลอธิบายไฟล์ที่จัดเก็บอยู่ข้าง ๆ พิกเซล PNG เก็บข้อมูลเหล่านี้ไว้ใน chunk แบบตัวเลือก ข้อความอาจเป็นข้อความล้วน ข้อความบีบอัด หรือระบุภาษากำกับไว้ เพื่อให้ฟิลด์เดียวกันมีได้หลายภาษา
- Registered text keywords คือคีย์เวิร์ดแบบง่าย และรายงานจะแสดงรายชื่อเป็นชื่อฟิลด์ ได้แก่
Title,Author,Description,Copyright,Creation Time,Software,Source,Comment,DisclaimerและWarningฟิลด์Softwareเป็นตัวที่พบได้บ่อยที่สุด เพราะโปรแกรมแก้ไขภาพส่วนใหญ่จะประทับชื่อของตนเองลงไปในฟิลด์นี้ - XMP มาตรฐาน metadata แบบ XML ของ Adobe ถูกบรรจุอยู่ใน text chunk ที่มีการระบุภาษา นี่คือที่อยู่ของข้อมูลผู้สร้าง คีย์เวิร์ด การให้คะแนน และประวัติการแก้ไขที่แสดงรายชื่อโปรแกรมต่าง ๆ ที่ใช้แก้ไขภาพ
- EXIF มาตรฐาน metadata ของกล้องถ่ายรูป ไม่ได้เป็นส่วนหนึ่งของข้อกำหนดดั้งเดิม แต่ถูกเพิ่มเข้ามาภายหลังเป็น chunk แยกต่างหาก ดังนั้น PNG จึงสามารถพกบล็อกข้อมูลกล้องได้ครบ รวมถึงพิกัด GPS แม้ว่าโดยทั่วไปแล้วจะมีข้อมูลนี้ก็ต่อเมื่อไฟล์ถูกแปลงมาจากภาพถ่าย
- Colour และ display chunks ถือเป็น metadata เช่นกัน เช่น โปรไฟล์สี ICC ที่ฝังมา ค่า gamma และ chromaticity สีพื้นหลัง และ chunk ความละเอียดเชิงกายภาพที่บันทึกจำนวนพิกเซลต่อเมตร ซึ่งเป็นที่มาของค่าจำนวน DPI ของภาพ
ภาพหน้าจอหรือกราฟิกที่ส่งออกมามักเปิดเผยข้อมูลได้น้อยกว่าภาพจากกล้อง แต่ก็ไม่ควรคิดว่า PNG ไม่สามารถระบุตัวตนได้ การแปลง JPG เป็น PNG อาจคัดลอกข้อมูล EXIF และ GPS เดิมมาทั้งชุด โปรแกรมแก้ไขภาพจะเขียนชื่อของคุณลงในฟิลด์ผู้เขียนหรือ XMP creator หากคุณกรอกไว้ในค่าการตั้งค่า และฟิลด์ Software รวมถึงประวัติการแก้ไขจะแจ้งอย่างเงียบ ๆ ว่าไฟล์ถูกสร้างด้วยโปรแกรมใด และบางครั้งรวมถึงเวอร์ชันของโปรแกรมนั้นด้วย
ควรใช้ไฟล์ PNG เมื่อใด
ใช้ PNG ในกรณีที่ต้องการเก็บพิกเซลให้ตรงตามต้นฉบับหรือเมื่อภาพต้องมีความโปร่งใส เช่น ภาพหน้าจอ แผนผัง กราฟ โลโก้ ไอคอน งานกราฟิกสีเรียบ และภาพที่มีข้อความ ขอบที่คมจะยังคมอยู่เสมอ และการบันทึกซ้ำหลายครั้งจะไม่ทำให้ภาพเสื่อมคุณภาพ
เมื่อเทียบกับ JPG การเลือกระหว่างกันค่อนข้างตรงไปตรงมา สำหรับภาพถ่าย PNG มักมีขนาดใหญ่กว่าหลายเท่าทั้งที่คุณภาพแทบไม่ต่าง ดังนั้นภาพถ่ายควรใช้ JPG หรือรูปแบบสมัยใหม่อย่าง WebP หรือ HEIC แทน เมื่อเทียบกับ GIF แล้ว PNG ชนะขาดสำหรับภาพนิ่ง เพราะให้สีเต็มรูปแบบแทนที่จะจำกัดแค่ 256 เฉด และรองรับความโปร่งใสแบบไล่ระดับแทนการกำหนดเพียงสีเดียวให้โปร่งใส ช่องทางได้เปรียบที่เหลืออยู่ของ GIF คือการรองรับภาพเคลื่อนไหว