पीएनजी: Difference between revisions
No edit summary |
No edit summary |
||
| (6 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{Short description|Family of lossless compression file formats for image files}} | {{Short description|Family of lossless compression file formats for image files}}{{Infobox file format | ||
| name = पोर्टेबल नेटवर्क ग्राफ़िक्स | |||
{{Infobox file format | |||
| name = | |||
| icon = | | icon = | ||
| screenshot = <div style="background-color: #fff; | | screenshot = <div style="background-color: #fff; | ||
| Line 17: | Line 14: | ||
[[File:PNG transparency demonstration 1.png|280px]] | [[File:PNG transparency demonstration 1.png|280px]] | ||
</div> | </div> | ||
| caption = | | caption = 8-बिट ट्रांसपेरेंसी चैनल के साथ एक पीएनजी छवि, एक चेकर पृष्ठभूमि पर ओवरलैड, आमतौर पर पारदर्शिता को इंगित करने के लिए [[ग्राफिक्स सॉफ्टवेयर]] में उपयोग किया जाता है | ||
| extension = .png | | extension = .png | ||
| mime = image/png | | mime = image/png | ||
| Line 23: | Line 20: | ||
| uniform type = public.png | | uniform type = public.png | ||
| conforms to = public.image | | conforms to = public.image | ||
| genre = [[ | | genre = [[दोषरहित डेटा संपीड़न | दोषरहित]] [[रेखापुंज ग्राफिक्स | बिटमैप]] | ||
| containerfor = | | containerfor = | ||
| containedby = | | containedby = | ||
| owner = PNG | | owner = PNG डेवलपमेंट ग्रुप ([[वर्ल्ड वाइड वेब कंसोर्टियम | W3C]] के लिए दान किया गया) | ||
| released = {{ | | released = {{प्रारंभ तिथि और आयु | df = YES | 1996 | 10 | 1}}} | ||
| extendedfrom = | | extendedfrom = | ||
| extendedto = [[APNG]], [[JPEG Network Graphics|JNG]] and [[Multiple-image Network Graphics|MNG]] | | extendedto = [[APNG]], [[JPEG Network Graphics|JNG]] and [[Multiple-image Network Graphics|MNG]] | ||
| standard = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] [[List of ISO standards|15948]],<ref name="iso">{{Cite web|url=http://www.iso.org/iso/catalogue_detail.htm?csnumber=29581|title=ISO/IEC 15948:2004 – Information technology – Computer graphics and image processing – Portable Network Graphics (PNG): Functional specification|publisher=[[International Organization for Standardization]]|date=3 March 2004|access-date=2011-02-19}}</ref> [[Internet Engineering Task Force|IETF]] RFC 2083 | | standard = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] [[List of ISO standards|15948]],<ref name="iso">{{Cite web|url=http://www.iso.org/iso/catalogue_detail.htm?csnumber=29581|title=ISO/IEC 15948:2004 – Information technology – Computer graphics and image processing – Portable Network Graphics (PNG): Functional specification|publisher=[[International Organization for Standardization]]|date=3 March 2004|access-date=2011-02-19}}</ref> [[Internet Engineering Task Force|IETF]] RFC 2083 | ||
| open = | | open = हाँ | ||
| magic = {{ | | magic = {{कोड | 89 50 4e 47 0d 0a 1a 0a}} (8 बाइट्स [[हेक्साडेसिमल]]) | ||
| url = http://www.libpng.org/pub/png/ | | url = http://www.libpng.org/pub/png/ | ||
}} | }} | ||
पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी, आधिकारिक रूप से उच्चारित {{IPAc-en|p|ɪ|ŋ}}<ref name="pnghist">{{Cite web|url=http://www.libpng.org/pub/png/#history|title=पीएनजी का इतिहास|last=Roelofs|first=Greg|publisher=[[libpng]]|date=29 May 2010|access-date=2010-10-20}}</ref>{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#1Scope 1 Scope]}} {{respell|पिंग}}, भाषा में उच्चारित {{IPAc-en|ˌ|p|iː|ɛ|n|ˈ|dʒ|iː}}<ref>{{Cite web|url=https://www.oxfordlearnersdictionaries.com/definition/english/png|title=ऑक्सफोर्ड एडवांस्ड लर्नर्स डिक्शनरी से पीएनजी संज्ञा की परिभाषा|website=Oxford Learner's Dictionaries|access-date=2018-01-21}}</ref> {{respell|PEE|en|JEE}}) | पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी, आधिकारिक रूप से उच्चारित {{IPAc-en|p|ɪ|ŋ}}<ref name="pnghist">{{Cite web|url=http://www.libpng.org/pub/png/#history|title=पीएनजी का इतिहास|last=Roelofs|first=Greg|publisher=[[libpng]]|date=29 May 2010|access-date=2010-10-20}}</ref>{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#1Scope 1 Scope]}} {{respell|पिंग}}, भाषा में उच्चारित {{IPAc-en|ˌ|p|iː|ɛ|n|ˈ|dʒ|iː}}<ref>{{Cite web|url=https://www.oxfordlearnersdictionaries.com/definition/english/png|title=ऑक्सफोर्ड एडवांस्ड लर्नर्स डिक्शनरी से पीएनजी संज्ञा की परिभाषा|website=Oxford Learner's Dictionaries|access-date=2018-01-21}}</ref> {{respell|PEE|en|JEE}}) रेखापुंज ग्राफिक्स या रेखापुंज-ग्राफिक्स फ़ाइल ग्राफिक्स फ़ाइल प्रारूप है जो [[दोषरहित डेटा संपीड़न]] का समर्थन करता है।<ref>{{Cite web |title=पोर्टेबल नेटवर्क ग्राफ़िक .PNG फ़ाइल विवरण|url=https://surferhelp.goldensoftware.com/subsys/subsys_portable_network_graphic_file_description.htm |access-date=2022-08-12 |website=surferhelp.goldensoftware.com}}</ref> इस प्रकार पीएनजी को [[ ग्राफिक्स बदलाव प्रारूप |ग्राफिक्स परिवर्तन प्रारूप]] (GIF) के लिए उच्चतम, गैर-पेटेंट प्रतिस्थापन के रूप में विकसित किया गया था - अनौपचारिक रूप से, प्रारंभिक पीएनजी पुनरावर्ती परिवर्णी शब्द पीएनजी नहीं बल्कि जीआईएफ के लिए खड़ा था।<ref>{{Cite web|title=Web Review: PNG's NOT GIF!|url=https://people.apache.org/~jim/NewArchitect/webrevu/1997/05_09/designers/05_09_97_1.html|access-date=2021-11-24|website=people.apache.org|first= Greg |last=Roelofs}}</ref> | ||
पीएनजी पैलेट-आधारित | पीएनजी पैलेट-आधारित प्रतियों (24-बिट [[आरजीबी रंग मॉडल]] या 32-बिट [[आरजीबीए [[ रंगीन स्थान |रंगीन स्थान]] ]] रंगों के पैलेट के साथ), ग्रे[[स्केल]] प्रतियों (पारदर्शिता के लिए अल्फा संयोजन के साथ या बिना), और इस प्रकार पूर्ण-रंग गैर-पैलेट-आधारित आरजीबी या आरजीबीए छवियां उपलब्ध रहती हैं। इस प्रकार पीएनजी कार्य समूह ने [[इंटरनेट]] पर प्रतियों को स्थानांतरित करने के लिए प्रारूप तैयार किया गया था, इस प्रकार अच्छी गुणवत्ता वाले प्रिंट ग्राफिक्स के लिए नहीं; इसलिए गैर-आरजीबी रंग स्थान जैसे कि [[सीएमवाईके रंग मॉडल]] समर्थित नहीं हैं। इस प्रकार पीएनजी फ़ाइल में विखंडू की विस्तृत संरचना में एकल प्रतिबिम्ब होती है, मूलतः [[पिक्सेल]] को एन्कोडिंग और अन्य जानकारी जैसे कि पाठ्य टिप्पणियाँ और 2083 के लिए अनुरोध में दर्ज की गई अखंडता की जांच करते हैं।<ref>{{cite journal|url= https://tools.ietf.org/html/rfc2083#section-3|title= पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता संस्करण 1.0|at= sec. 3|journal= RFC 2083|publisher= [[Internet Engineering Steering Group|IESG]]<!-- non-IETF work approved by IESG, eventually published by the RFC editor like all RCs -->|doi= 10.17487/RFC2083|author1=T. Boutell|display-authors=etal|date= March 1997|doi-access= free}}</ref> | ||
पीएनजी फाइलें [[फाइल एक्सटेंशन]] का उपयोग करती हैं <code>पीएनजी</code> या <code>png</code> और एमआईएमई प्रकार का मीडिया प्रकार | पीएनजी फाइलें [[फाइल एक्सटेंशन]] का उपयोग करती हैं <code>पीएनजी</code> या <code>png</code> और एमआईएमई प्रकार का मीडिया प्रकार <code>image/png द्वारा</code>असाइन किया गया है।<ref>{{Cite web|url=https://www.iana.org/assignments/media-types/image/png|title=Registration of new Media Type image/png|publisher=[[Internet Assigned Numbers Authority|IANA]]|date=1996-07-27}}</ref> | ||
पीएनजी को मार्च 1997 में टिप्पणियों के लिए अनुरोध सूचनात्मक आरएफसी 2083 के रूप में और 2004 में ISO/IEC 15948 मानक के रूप में प्रकाशित किया गया था।<ref name="iso" /> | इस प्रकार पीएनजी को मार्च 1997 में टिप्पणियों के लिए अनुरोध सूचनात्मक आरएफसी 2083 के रूप में और 2004 में ISO/IEC 15948 मानक के रूप में प्रकाशित किया गया था।<ref name="iso" /> | ||
== इतिहास और विकास == | == इतिहास और विकास == | ||
{{See also|ग्राफिक्स इंटरचेंज फॉर्मेट # यूनिसिस और LZW पेटेंट प्रवर्तन}} | {{See also|ग्राफिक्स इंटरचेंज फॉर्मेट # यूनिसिस और LZW पेटेंट प्रवर्तन}} | ||
पीएनजी प्रारूप बनाने के लिए प्रेरणा यह | पीएनजी प्रारूप बनाने के लिए प्रेरणा यह मानना था कि, 28 दिसंबर 1994 को, ग्राफिक्स इंटरचेंज फॉर्मेट (जीआईएफ) प्रारूप में उपयोग किए जाने वाले लेम्पेल-ज़िव-वेल्च (एलजेडडब्लू) डेटा संपीड़न एल्गोरिदम को [[यूनिसिस]] द्वारा [[पेटेंट]] कराया गया था। इस प्रकार पेटेंट के लिए आवश्यक था कि जीआईएफ का समर्थन करने वाले सभी सॉफ्टवेयर रॉयल्टी का भुगतान करता हैं, जिससे [[यूज़नेट]] उपयोगकर्ताओं की आलोचनाओं की झड़ी लग गई थी। इस प्रकार उनमें से थॉमस बाउटल थे, जिन्होंने 4 जनवरी 1995 को [[यूज़नेट समाचार समूह]] कॉम्प.ग्राफिक्स पर प्रारंभिक चर्चा सूत्र पोस्ट किया जिसमें उन्होंने जीआईएफ के मुफ्त विकल्प के लिए योजना तैयार की गई थी। इस प्रकार उस थ्रेड के अन्य उपयोगकर्ताओं ने कई प्रस्ताव प्रस्तुत किए जो बाद में अंतिम फ़ाइल स्वरूप का भाग बनेंगे। इस प्रकार लोकप्रिय [[जेपीईजी]] दर्शक [[क्यूपीईजी]] के लेखक ओलिवर फ्रॉम ने पिंग नाम प्रस्तावित किया, अंततः पीएनजी बन गया, पुनरावर्ती संक्षिप्त नाम जिसका अर्थ है पिंग जीआईएफ नहीं है,<ref>{{cite news |last=Limer |first=Eric |url=https://www.popularmechanics.com/technology/a21457/the-gif-is-dead-long-live-the-gif/ |title=जीआईएफ मर चुका है। लॉन्ग लिव जीआईएफ।|work=Popular Mechanics |date=2019-10-30 |accessdate=2022-11-21 }}</ref> और भी <code>.png</code> [[फ़ाइल नाम एक्सटेंशन]] को बाद में लागू किए गए अन्य सुझावों में [[ हवा निकालना |हवा निकालना]] और कलर डेप्थ ट्रू कलर (24-बिट)|24-बिट कलर सपोर्ट सम्मिलित हैं, जीआईएफ में बाद वाले की कमी भी टीम को अपना फ़ाइल प्रारूप बनाने के लिए प्रेरित करती है। इस प्रकार समूह को पीएनजी डेवलपमेंट ग्रुप के रूप में जाना जाएगा, और जैसे-जैसे चर्चा तेजी से बढ़ी, इसने बाद में कॉम्प्यूसर्व फोरम से जुड़ी मेलिंग सूची का उपयोग किया जाता हैं।<ref name="pnghist"/>{{Sfn|Roelofs|1999|loc=Chapter 7. History of the Portable Network Graphics Format}} | ||
पीएनजी का पूर्ण विनिर्देश 1 अक्टूबर 1996 को वर्ल्ड वाइड वेब कंसोर्टियम के अनुमोदन के तहत जारी किया गया था, और बाद में 15 जनवरी 1997 को टिप्पणियों के लिए अनुरोध 2083 के रूप में जारी किया गया था। विनिर्देश को 31 दिसंबर 1998 को संस्करण 1.1 के रूप में संशोधित किया गया था, जिसने गामा के लिए तकनीकी समस्याओं को संबोधित किया था। सुधार और [[रंग सुधार]] | पीएनजी का पूर्ण विनिर्देश 1 अक्टूबर 1996 को वर्ल्ड वाइड वेब कंसोर्टियम के अनुमोदन के तहत जारी किया गया था, और बाद में 15 जनवरी 1997 को टिप्पणियों के लिए अनुरोध 2083 के रूप में जारी किया गया था। इस प्रकार विनिर्देश को 31 दिसंबर 1998 को संस्करण 1.1 के रूप में संशोधित किया गया था, जिसने गामा के लिए तकनीकी समस्याओं को संबोधित किया था। इस प्रकार सुधार और [[रंग सुधार]] के लिए संस्करण 1.2, 11 अगस्त 1999 को जारी किया गया <code>iTXt</code> चंक विनिर्देश के एकमात्र परिवर्तन के रूप में, और 1.2 का सुधारित संस्करण 10 नवंबर 2003 को W3C मानक के दूसरे संस्करण के रूप में जारी किया गया था,<ref name="w3IHDR"/>और अंतर्राष्ट्रीय मानक के रूप में ([http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=29581&scopelist=PROGRAMME ISO/IEC 15948:2004]) 3 मार्च 2004 को संलग्न करता हैं।<ref>{{cite web|url=http://www.libpng.org/pub/png/spec/|title=पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी) विनिर्देश और एक्सटेंशन|last=Roelofs|first=Greg|work=[[libpng]]|date=29 September 2011|access-date=August 15, 2021}}</ref><ref name="iso" /> | ||
चूंकि जीआईएफ [[कंप्यूटर एनीमेशन]] के लिए अनुमति देता है, यह निर्णय लिया गया कि पीएनजी एकल- | चूंकि जीआईएफ [[कंप्यूटर एनीमेशन]] के लिए अनुमति देता है, यह निर्णय लिया गया कि पीएनजी एकल-प्रतिबिम्ब प्रारूप होना चाहिए।<ref>{{Cite web|title=पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0|url=https://tools.ietf.org/html/rfc2083#page-39|publisher=[[World Wide Web Consortium|W3C]]|at=sec. 8.4|date=1 October 1996|quote=PNG itself is strictly a single-image format. (...) In the future, a multiple-image format based on PNG may be defined. Such a format will be considered a separate file format}}</ref> 2001 में, पीएनजी के डेवलपर्स ने एनीमेशन के समर्थन के साथ [[ एकाधिक छवि नेटवर्क ग्राफिक्स |एकाधिक प्रतिबिम्ब नेटवर्क ग्राफिक्स]] (एमएनजी) प्रारूप प्रकाशित किया था। एमएनजी ने मध्यम एप्लिकेशन समर्थन प्राप्त किया, किन्तु मुख्यधारा के वेब ब्राउज़रों के बीच पर्याप्त नहीं था और वेब साइट डिजाइनरों या प्रकाशकों के बीच इसका कोई उपयोग नहीं था। 2008 में, कुछ [[mozilla]] डेवलपर्स ने समान लक्ष्यों के साथ [[एनिमेटेड पोर्टेबल नेटवर्क ग्राफिक्स]] (एपीएनजी) प्रारूप प्रकाशित किया। इस प्रकार एपीएनजी ऐसा प्रारूप है जो मूल रूप से [[ छिपकली (सॉफ्टवेयर) |छिपकली (सॉफ्टवेयर)]] - और [[प्रेस्टो (ब्राउज़र इंजन)]] -आधारित वेब ब्राउज़र द्वारा समर्थित है और सामान्यतः सोनी के [[प्लेस्टेशन पोर्टेबल]] सिस्टम (सामान्य पीएनजी फ़ाइल एक्सटेंशन का उपयोग करके) पर थंबनेल के लिए भी उपयोग किया जाता है। इस प्रकार 2017 में, क्रोमियम आधारित ब्राउज़रों ने एपीएनजी समर्थन को अपनाया। जनवरी 2020 में, माइक्रोसाॅफ्ट एज क्रोमियम (वेब ब्राउज़र) आधारित बन गया, इस प्रकार एपीएनजी के लिए समर्थन विरासत में मिला। इसके साथ सभी प्रमुख ब्राउज़र अब एपीएनजी को सपोर्ट करते हैं। | ||
== पीएनजी वर्किंग ग्रुप == | == पीएनजी वर्किंग ग्रुप == | ||
मूल पीएनजी विनिर्देश [[कंप्यूटर चित्रलेख]] विशेषज्ञों और उत्साही लोगों के | मूल पीएनजी विनिर्देश [[कंप्यूटर चित्रलेख]] विशेषज्ञों और उत्साही लोगों के तदर्थ समूह द्वारा लिखा गया था। प्रारूप के बारे में चर्चा और निर्णय ईमेल द्वारा आयोजित किए गए। RFC 2083 में सूचीबद्ध मूल लेखक हैं:<ref name="rfc2083">{{Cite document|last=Boutell|first=Thomas|date=1 October 1996|title=पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0|url=http://tools.ietf.org/html/rfc2083}}</ref> | ||
*संपादक: थॉमस बाउटेल | *संपादक: थॉमस बाउटेल | ||
*योगदान संपादक: [[टॉम लेन (कंप्यूटर वैज्ञानिक)]] | *योगदान संपादक: [[टॉम लेन (कंप्यूटर वैज्ञानिक)]] | ||
* लेखक (अंतिम नाम से वर्णानुक्रम में): [[मार्क एडलर]], [[थॉमस बाउटल]], [[क्रिश्चियन ब्रंसचेन]], एडम एम। कोस्टेलो, [[ली डेनियल क्रोकर]], [[एंड्रियास डिल्गर]], [[ओलिवर फ्रॉम]], [[ जीन-लूप गेल्ली ]], [[क्रिस हर्बर्थ]], [[अलेक्स जकुलीन]], [[नील केटलर]], टॉम लेन (कंप्यूटर वैज्ञानिक), [[अलेक्जेंडर लेहमैन]], [[क्रिस लिली (कंप्यूटर वैज्ञानिक)]], डेव मार्टिंडेल, [[ओवेन मोर्टेंसन]], कीथ एस. पिकेंस, रॉबर्ट पी. पूले, [[ग्लेन रैंडर्स-पेहरसन]], [[ग्रेग रोएलोफ्स]] , विलेम वैन शाइक, गाइ शल्नाट, [[पॉल श्मिट (कंप्यूटर प्रोग्रामर)]], [[टिम वेगनर]], [[जेरेमी वोहल]] | * लेखक (अंतिम नाम से वर्णानुक्रम में): [[मार्क एडलर]], [[थॉमस बाउटल]], [[क्रिश्चियन ब्रंसचेन]], एडम एम। कोस्टेलो, [[ली डेनियल क्रोकर]], [[एंड्रियास डिल्गर]], [[ओलिवर फ्रॉम]], [[ जीन-लूप गेल्ली |जीन-लूप गेल्ली]], [[क्रिस हर्बर्थ]], [[अलेक्स जकुलीन]], [[नील केटलर]], टॉम लेन (कंप्यूटर वैज्ञानिक), [[अलेक्जेंडर लेहमैन]], [[क्रिस लिली (कंप्यूटर वैज्ञानिक)]], डेव मार्टिंडेल, [[ओवेन मोर्टेंसन]], कीथ एस. पिकेंस, रॉबर्ट पी. पूले, [[ग्लेन रैंडर्स-पेहरसन]], [[ग्रेग रोएलोफ्स]], विलेम वैन शाइक, गाइ शल्नाट, [[पॉल श्मिट (कंप्यूटर प्रोग्रामर)]], [[टिम वेगनर]], [[जेरेमी वोहल]] | ||
== फ़ाइल प्रारूप == | == फ़ाइल प्रारूप == | ||
| Line 62: | Line 59: | ||
=== फाइल हेडर === | === फाइल हेडर === | ||
पीएनजी फाइल 8-[[बाइट]] [[ बाइनरी हस्ताक्षर ]] से प्रारंभ होती है{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#5PNG-file-signature 5.2 PNG signature]}} (दाईं ओर हेक्स संपादक | पीएनजी फाइल 8-[[बाइट]] [[ बाइनरी हस्ताक्षर |बाइनरी हस्ताक्षर]] से प्रारंभ होती है{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#5PNG-file-signature 5.2 PNG signature]}} (दाईं ओर हेक्स संपादक प्रतिबिम्ब देखें): | ||
{|class=wikitable | {|class=wikitable | ||
| Line 72: | Line 69: | ||
|- | |- | ||
|<code>50 4E 47</code> | |<code>50 4E 47</code> | ||
|ASCII में, पत्रों, | |ASCII में, पत्रों, व्यक्ति को पाठ संपादक में देखे जाने पर प्रारूप को सरलता से पहचानने की अनुमति देता है। | ||
|- | |- | ||
|<code>0D 0A</code> | |<code>0D 0A</code> | ||
|डेटा के रूपांतरण को समाप्त करने वाले डॉस-यूनिक्स लाइन का पता लगाने के लिए | |डेटा के रूपांतरण को समाप्त करने वाले डॉस-यूनिक्स लाइन का पता लगाने के लिए डॉस-शैली लाइन एंडिंग (सीआरएलएफ)। | ||
|- | |- | ||
|<code>1A</code> | |<code>1A</code> | ||
| Line 81: | Line 78: | ||
|- | |- | ||
|<code>0A</code> | |<code>0A</code> | ||
|यूनिक्स-डॉस लाइन समाप्ति रूपांतरण का पता लगाने के लिए | |यूनिक्स-डॉस लाइन समाप्ति रूपांतरण का पता लगाने के लिए यूनिक्स-शैली लाइन समाप्ति (एलएफ)। | ||
|} | |} | ||
=== फ़ाइल के भीतर भाग === | === फ़ाइल के भीतर भाग === | ||
हेडर के बाद, चंक (सूचना) की | हेडर के बाद, चंक (सूचना) की श्रृंखला आती है,{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#5Chunk-layout 5.3 Chunk layout]}} जिनमें से प्रत्येक प्रतिबिम्ब के बारे में कुछ जानकारी बताता है। भाग खुद को महत्वपूर्ण या सहायक के रूप में घोषित करता है, और सहायक खंड का सामना करने वाला कार्यक्रम जो इसे समझ में नहीं आता है, इसे सुरक्षित रूप से अनदेखा कर सकता है। इस प्रकार यह चंक-आधारित भंडारण परत संरचना, [[कंटेनर प्रारूप (डिजिटल)]] या [[अमिगा]] की अवधारणा के समान है{{'}}s [[इंटरचेंज फ़ाइल स्वरूप]], पुराने संस्करणों के साथ संगतता बनाए रखते हुए पीएनजी प्रारूप को विस्तारित करने की अनुमति देने के लिए डिज़ाइन किया गया है—यह आगे की संगतता प्रदान करता है, और संबंधित [[MNG|एमएनजी]], [[जेपीईजी नेटवर्क ग्राफिक्स]] में इसी फ़ाइल संरचना (विभिन्न हस्ताक्षर और टुकड़ों के साथ) का उपयोग किया जाता है, और इस प्रकार एपीएनजी प्रारूप में उपयोग किया गया हैं। | ||
एक चंक में चार भाग होते हैं: लंबाई (4 बाइट्स,<ref name="PoCorGTFO">{{Cite book|url=https://books.google.com/books?id=lvMxDwAAQBAJ&pg=PT686|title=पीओसी या जीटीएफओ|isbn=9781593278984|quote=Each chunk consists of four parts: Length, a Chunk Type, the Chunk Data, and a 32-bit CRC. The Length is a 32-bit unsigned integer indicating the size of only the Chunk Data field|last1=Laphroaig|first1=Manul|date=31 October 2017}}</ref> एंडियननेस | एक चंक में चार भाग होते हैं: लंबाई (4 बाइट्स,<ref name="PoCorGTFO">{{Cite book|url=https://books.google.com/books?id=lvMxDwAAQBAJ&pg=PT686|title=पीओसी या जीटीएफओ|isbn=9781593278984|quote=Each chunk consists of four parts: Length, a Chunk Type, the Chunk Data, and a 32-bit CRC. The Length is a 32-bit unsigned integer indicating the size of only the Chunk Data field|last1=Laphroaig|first1=Manul|date=31 October 2017}}</ref> एंडियननेस बिग-एंडियन या बिग-एंडियन), चंक प्रकार / नाम (4 बाइट्स<ref>{{Cite book |url=https://books.google.com/books?id=lvMxDwAAQBAJ&pg=PT686 - |quote=Chunk Type is a 32-bit FourCC code such as IHDR, IDAT, or IEND.|title=पीओसी या जीटीएफओ|isbn=9781593278984|last1=Laphroaig|first1=Manul|date=31 October 2017}}</ref>), चंक डेटा (लंबाई बाइट्स) और चक्रीय अतिरेक जाँच (चक्रीय अतिरेक कोड/चेकसम; 4 बाइट्स<ref name="PoCorGTFO" />). सीआरसी चक्रीय अतिरेक जाँचों का नेटवर्क-बाइट-ऑर्डर संगणना है। सीआरसी-32 की गणना चंक प्रकार और चंक डेटा पर की जाती है, किन्तु लंबाई पर नहीं किया जाता हैं। | ||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
| Line 99: | Line 96: | ||
| 4 bytes | | 4 bytes | ||
| 4 bytes | | 4 bytes | ||
| | | लंबाई बाइट्स में | ||
| 4 bytes | | 4 bytes | ||
|} | |} | ||
चंक प्रकारों को | चंक प्रकारों को चार-अक्षर केस संवेदनशीलता ASCII प्रकार/नाम दिया जाता है, इस प्रकार [[फोरसीसी]] की तुलना की जाती हैं। नाम में विभिन्न अक्षरों का स्थिति (चरित्र के संख्यात्मक मान का बिट 5) [[बिट फ़ील्ड]] है जो [[कोडेक]] को उन टुकड़ों की प्रकृति पर कुछ जानकारी प्रदान करता है जिन्हें वह नहीं पहचानता है। | ||
पहले अक्षर का केस बताता है कि चंक क्रिटिकल है या नहीं हैं। यदि पहला अक्षर अपरकेस है, तो चंक महत्वपूर्ण है; यदि नहीं, तो चंक सहायक है। क्रिटिकल चंक्स में वह जानकारी होती है जो फ़ाइल को पढ़ने के लिए आवश्यक होती है। यदि | पहले अक्षर का केस बताता है कि इस प्रकार चंक क्रिटिकल है या नहीं हैं। यदि पहला अक्षर अपरकेस है, तो चंक महत्वपूर्ण है; यदि नहीं, तो चंक सहायक है। क्रिटिकल चंक्स में वह जानकारी होती है जो फ़ाइल को पढ़ने के लिए आवश्यक होती है। यदि डिकोडर महत्वपूर्ण खंड का सामना करता है जिसे वह पहचान नहीं पाता है, तो इस प्रकार उसे फ़ाइल को पढ़ना बंद करना होगा या उपयोगकर्ता को उचित चेतावनी देनी होगी। | ||
दूसरे पत्र का स्थिति इंगित करता है कि खंड सार्वजनिक है (या तो विनिर्देश में या विशेष प्रयोजन के सार्वजनिक भाग की रजिस्ट्री में) या निजी (मानकीकृत नहीं) | दूसरे पत्र का स्थिति इंगित करता है कि खंड सार्वजनिक है (या तो विनिर्देश में या विशेष प्रयोजन के सार्वजनिक भाग की रजिस्ट्री में) या निजी (मानकीकृत नहीं) होता हैं। अपरकेस सार्वजनिक है और लोअरकेस निजी है। यह सुनिश्चित करता है कि इस प्रकार सार्वजनिक और निजी चंक नाम कभी भी एक-दूसरे के साथ संघर्ष नहीं कर सकते (चूंकि दो निजी चंक नाम परस्पर विरोधी हो सकते हैं)। | ||
तीसरा अक्षर पीएनजी विशिष्टता के अनुरूप होने के लिए अपरकेस होना चाहिए। यह भविष्य के विस्तार के लिए आरक्षित रहता है। डिकोडर्स को | तीसरा अक्षर पीएनजी विशिष्टता के अनुरूप होने के लिए अपरकेस होना चाहिए। यह भविष्य के विस्तार के लिए आरक्षित रहता है। डिकोडर्स को चंक को लोअर केस थर्ड लेटर के साथ किसी भी अन्य गैर-मान्यता प्राप्त चंक के समान व्यवहार करना चाहिए। | ||
चौथे अक्षर का स्थिति इंगित करता है कि क्या चंक उन संपादकों द्वारा कॉपी करने के लिए सुरक्षित है जो इसे नहीं पहचानते हैं। यदि लोअरकेस है, तो चंक को फ़ाइल में संशोधनों की सीमा की परवाह किए बिना सुरक्षित रूप से कॉपी किया जा सकता है। यदि अपरकेस है, तो इसे केवल तभी कॉपी किया जा सकता है जब संशोधनों ने किसी भी महत्वपूर्ण भाग को नहीं छुआ हो। | चौथे अक्षर का स्थिति इंगित करता है कि क्या चंक उन संपादकों द्वारा कॉपी करने के लिए सुरक्षित है जो इसे नहीं पहचानते हैं। इस प्रकार यदि लोअरकेस है, तो चंक को फ़ाइल में संशोधनों की सीमा की परवाह किए बिना सुरक्षित रूप से कॉपी किया जा सकता है। यदि अपरकेस है, तो इसे केवल तभी कॉपी किया जा सकता है जब संशोधनों ने किसी भी महत्वपूर्ण भाग को नहीं छुआ हो। | ||
==== गंभीर भाग ==== | ==== गंभीर भाग ==== | ||
डिकोडर को पीएनजी फ़ाइल को पढ़ने और प्रस्तुत करने के लिए महत्वपूर्ण भागों की व्याख्या करने में सक्षम होना चाहिए। | डिकोडर को पीएनजी फ़ाइल को पढ़ने और प्रस्तुत करने के लिए महत्वपूर्ण भागों की व्याख्या करने में सक्षम होना चाहिए। | ||
* <code>IHDR</code> पहला भाग होना चाहिए; इसमें (इस क्रम में) | * <code>IHDR</code> पहला भाग होना चाहिए; इसमें (इस क्रम में) प्रतिबिम्ब सम्मिलित है | ||
**चौड़ाई (4 बाइट्स) | **चौड़ाई (4 बाइट्स) | ||
** ऊंचाई (4 बाइट्स) | ** ऊंचाई (4 बाइट्स) | ||
| Line 124: | Line 121: | ||
जैसा कि वर्ल्ड वाइड वेब कंसोर्टियम में कहा गया है, बिट डेप्थ को प्रति सैंपल या प्रति पैलेट इंडेक्स (प्रति पिक्सेल नहीं) बिट्स की संख्या के रूप में परिभाषित किया गया है।<ref name="w3IHDR"/> | जैसा कि वर्ल्ड वाइड वेब कंसोर्टियम में कहा गया है, बिट डेप्थ को प्रति सैंपल या प्रति पैलेट इंडेक्स (प्रति पिक्सेल नहीं) बिट्स की संख्या के रूप में परिभाषित किया गया है।<ref name="w3IHDR"/> | ||
<code>PLTE</code> [[पैलेट (कंप्यूटिंग)]] सम्मिलित है: रंगों की | <code>PLTE</code> [[पैलेट (कंप्यूटिंग)]] सम्मिलित है: रंगों की सूची। | ||
* <code>IDAT</code> | * <code>IDAT</code> प्रतिबिम्ब सम्मिलित है, जिसे कई आईडीएटी भागों में विभाजित किया जा सकता है। इस प्रकार के बंटवारे से फाइल का आकार थोड़ा बढ़ जाता है, किन्तु इस प्रकार स्ट्रीमिंग तरीके से पीएनजी उत्पन्न करना संभव हो जाता है। आईडीएटी खंड में वास्तविक प्रतिबिम्ब डेटा होता है, जो संपीड़न एल्गोरिदम का आउटपुट स्ट्रीम होता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11IDAT 11.2.4 <code>IDAT</code> Image data]}} | ||
* <code>IEND</code> | * <code>IEND</code> प्रतिबिम्ब के अंत को चिह्नित करता है; IEND चंक के डेटा फ़ील्ड में 0 बाइट्स हैं/खाली है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11IEND 11.2.5 <code>IEND</code> Image trailer]}} <code>PLTE</code> ई> भाग रंग प्रकार 3 (अनुक्रमित रंग) के लिए आवश्यक है। यह रंग प्रकार 2 और 6 (अल्फ़ा के साथ ट्रूकलर और ट्रूकलर) के लिए वैकल्पिक है और यह रंग प्रकार 0 और 4 (ग्रेस्केल और अल्फ़ा के साथ ग्रेस्केल) के लिए प्रदर्शित नहीं होना चाहिए। | ||
==== सहायक भाग ==== | ==== सहायक भाग ==== | ||
अन्य | अन्य प्रतिबिम्ब विशेषताएँ जिन्हें पीएनजी फ़ाइलों में संग्रहीत किया जा सकता है, इस प्रकार उनमें गामा सुधार मान, पृष्ठभूमि रंग और पाठ संबंधी [[मेटा डेटा]] जानकारी सम्मिलित हैं। पीएनजी, ICC प्रोफ़ाइल को सम्मिलित करके [[रंग प्रबंधन]] का भी समर्थन करता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11iCCP 11.3.3.3 <code>iCCP</code> Embedded ICC profile]}} | ||
* <code>bKGD</code> डिफ़ॉल्ट पृष्ठभूमि रंग देता है। इसका उपयोग तब किया जाता है जब कोई उच्चतम विकल्प उपलब्ध नहीं होता है, जैसे स्टैंडअलोन | * <code>bKGD</code> डिफ़ॉल्ट पृष्ठभूमि रंग देता है। इसका उपयोग तब किया जाता है जब कोई उच्चतम विकल्प उपलब्ध नहीं होता है, जैसे स्टैंडअलोन प्रतिबिम्ब दर्शकों में (किन्तु वेब ब्राउज़र नहीं; अधिक विवरण के लिए नीचे देखें)। | ||
* <code>cHRM</code> प्रदर्शन [[प्राथमिक रंग]] और सफेद बिंदु के [[वार्णिकता]] निर्देशांक देता है। | * <code>cHRM</code> प्रदर्शन [[प्राथमिक रंग]] और सफेद बिंदु के [[वार्णिकता]] निर्देशांक देता है। | ||
* <code>dSIG</code> डिजिटल हस्ताक्षर संग्रहीत करने के लिए है।<ref>{{Cite web|last=Thomas Kopp|date=17 April 2008|title=PNG Digital Signatures: Extension Specification|url=http://libpng.download/documents/signatures/}}</ref> | * <code>dSIG</code> डिजिटल हस्ताक्षर संग्रहीत करने के लिए है।<ref>{{Cite web|last=Thomas Kopp|date=17 April 2008|title=PNG Digital Signatures: Extension Specification|url=http://libpng.download/documents/signatures/}}</ref> | ||
* <code>eXIf</code> [[Exif]] मेटाडेटा स्टोर करता है।<ref>{{Cite web|url=http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html|title=Extensions to the PNG 1.2 Specification, version 1.5.0|website=ftp-osl.osuosl.org}}</ref> | * <code>eXIf</code> [[Exif]] मेटाडेटा स्टोर करता है।<ref>{{Cite web|url=http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html|title=Extensions to the PNG 1.2 Specification, version 1.5.0|website=ftp-osl.osuosl.org}}</ref> | ||
* <code>gAMA</code> गामा सुधार निर्दिष्ट करता है। गामा चंक में केवल 4 बाइट्स होते हैं, और इसका मान गामा मान को 100,000 से गुणा करता है; उदाहरण के लिए, गामा मान 1/3.4 29411.7647059 ((1/3.4)*(100,000)) की गणना करता है और भंडारण के लिए पूर्णांक (29412) में परिवर्तित हो जाता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11gAMA 11.3.3.2 <code>gAMA</code> Image gamma]}} | * <code>gAMA</code> गामा सुधार निर्दिष्ट करता है। इस प्रकार गामा चंक में केवल 4 बाइट्स होते हैं, और इसका मान गामा मान को 100,000 से गुणा करता है; उदाहरण के लिए, गामा मान 1/3.4 29411.7647059 ((1/3.4)*(100,000)) की गणना करता है और भंडारण के लिए पूर्णांक (29412) में परिवर्तित हो जाता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11gAMA 11.3.3.2 <code>gAMA</code> Image gamma]}} | ||
* <code>hIST</code> | * <code>hIST</code> प्रतिबिम्ब में हिस्टोग्राम, या प्रत्येक रंग की कुल मात्रा को संग्रहीत कर सकता है। | ||
* <code>iCCP</code> | * <code>iCCP</code> [[आईसीसी रंग प्रोफ़ाइल]] है। | ||
* <code>iTXt</code> IETF भाषा टैग के साथ चिह्नित संभावित संपीड़न और अनुवाद के लिए एन्कोडिंग के साथ | * <code>iTXt</code> IETF भाषा टैग के साथ चिह्नित संभावित संपीड़न और अनुवाद के लिए एन्कोडिंग के साथ कीवर्ड और [[UTF-8]] टेक्स्ट सम्मिलित है। इस प्रकार [[एक्स्टेंसिबल मेटाडेटा प्लेटफ़ॉर्म]] (XMP) इस चंक का उपयोग कीवर्ड 'XML:com.adobe.xmp' के साथ करता है | ||
* <code>pHYs</code> इच्छित पिक्सेल आकार (या पिक्सेल पहलू अनुपात) रखता है | * <code>pHYs</code> इच्छित पिक्सेल आकार (या पिक्सेल पहलू अनुपात) रखता है, इस प्रकार पीएचवाई में कुल 9 बाइट्स के लिए पिक्सेल प्रति यूनिट, एक्स अक्ष (4 बाइट्स), पिक्सेल प्रति यूनिट, वाई अक्ष (4 बाइट्स) और यूनिट स्पेसिफायर (1 बाइट) सम्मिलित हैं।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11pHYs 11.3.5.3 <code>pHYs</code> Physical pixel dimensions]}} | ||
* <code>sBIT</code> (महत्वपूर्ण बिट्स) स्रोत डेटा के रंग-सटीकता को इंगित करता है; रंग के प्रकार के आधार पर इस चंक में कुल 1 से 5 बाइट्स होते हैं।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11sBIT 11.3.3.4 <code>sBIT</code> Significant bits]}}<ref>{{cite web |url=https://www.w3.org/TR/PNG-Chunks.html |title=PNG (Portable Network Graphics) Specification \ Version 1.0 |website=w3.org |access-date=30 May 2022}} 4.2.6. sBIT Significant bits, 13 bytes total - color type 2 and 3 totaled 6 bytes</ref>{{Sfn|Roelofs|2003|loc=[http://www.libpng.org/pub/png/book/chapter11.html#png.ch11.div.7 Significant Bits (sBIT)]|postscript="Grayscale images are the simplest; sBIT then contains a single byte indicating the number of significant bits in the source data"}} | * <code>sBIT</code> (महत्वपूर्ण बिट्स) स्रोत डेटा के रंग-सटीकता को इंगित करता है; रंग के प्रकार के आधार पर इस चंक में कुल 1 से 5 बाइट्स होते हैं।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#11sBIT 11.3.3.4 <code>sBIT</code> Significant bits]}}<ref>{{cite web |url=https://www.w3.org/TR/PNG-Chunks.html |title=PNG (Portable Network Graphics) Specification \ Version 1.0 |website=w3.org |access-date=30 May 2022}} 4.2.6. sBIT Significant bits, 13 bytes total - color type 2 and 3 totaled 6 bytes</ref>{{Sfn|Roelofs|2003|loc=[http://www.libpng.org/pub/png/book/chapter11.html#png.ch11.div.7 Significant Bits (sBIT)]|postscript="Grayscale images are the simplest; sBIT then contains a single byte indicating the number of significant bits in the source data"}} | ||
* <code>sPLT</code> रंगों की पूरी श्रृंखला अनुपलब्ध होने पर उपयोग करने के लिए पैलेट का सुझाव देता है। | * <code>sPLT</code> रंगों की पूरी श्रृंखला अनुपलब्ध होने पर उपयोग करने के लिए पैलेट का सुझाव देता है। | ||
* <code>एस आरबीजी</code> इंगित करता है कि मानक एस आरबीजी रंग स्थान का उपयोग किया जाता है; एस आरबीजी चंक में केवल 1 बाइट होता है, जिसका उपयोग रेंडरिंग इंटेंट के लिए किया जाता है (4 मान—0, 1, 2, और 3—रेंडरिंग इंटेंट के लिए परिभाषित किए गए हैं)।<ref>{{Cite web|url=http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.sRGB|title = PNG Specification: Chunk Specifications}}</ref> | * <code>एस आरबीजी</code> इंगित करता है कि मानक एस आरबीजी रंग स्थान का उपयोग किया जाता है; एस आरबीजी चंक में केवल 1 बाइट होता है, जिसका उपयोग रेंडरिंग इंटेंट के लिए किया जाता है (4 मान—0, 1, 2, और 3—रेंडरिंग इंटेंट के लिए परिभाषित किए गए हैं)।<ref>{{Cite web|url=http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.sRGB|title = PNG Specification: Chunk Specifications}}</ref> | ||
* <code>sTER</code> [[ त्रिविम ]] इमेज के लिए स्टीरियो-इमेज इंडिकेटर चंक।<ref>{{Cite web|title=PNG News from 2006|url=http://www.libpng.org/pub/png/png2006.html|publisher=Libpng.org}}</ref> | * <code>sTER</code> [[ त्रिविम |त्रिविम]] इमेज के लिए स्टीरियो-इमेज इंडिकेटर चंक।<ref>{{Cite web|title=PNG News from 2006|url=http://www.libpng.org/pub/png/png2006.html|publisher=Libpng.org}}</ref> | ||
* <code>tEXt</code> पाठ को संग्रहीत कर सकता है जिसे ISO/IEC 8859-1 में प्रदर्शित किया जा सकता है, प्रत्येक चंक के लिए | * <code>tEXt</code> पाठ को संग्रहीत कर सकता है जिसे ISO/IEC 8859-1 में प्रदर्शित किया जा सकता है, प्रत्येक चंक के लिए विशेषता-मूल्य जोड़ी | कुंजी-मूल्य जोड़ी के साथ। कुंजी की लंबाई 1 से 79 वर्णों के बीच होनी चाहिए. विभाजक अशक्त वर्ण है। मान किसी भी लम्बाई का हो सकता है, जिसमें शून्य से अधिकतम अनुमेय चंक आकार माइनस कीवर्ड और विभाजक की लंबाई सम्मिलित है। न तो कुंजी और न ही मान में अशक्त वर्ण हो सकते हैं। अग्रणी या अनुगामी रिक्त स्थान भी अस्वीकृत हैं। | ||
* <code>tIME</code> उस समय को संग्रहीत करता है जब | * <code>tIME</code> उस समय को संग्रहीत करता है जब प्रतिबिम्ब को अंतिम बार बदला गया था। | ||
* <code>tRNS</code> पारदर्शिता जानकारी सम्मिलित है। अनुक्रमित | * <code>tRNS</code> पारदर्शिता जानकारी सम्मिलित है। अनुक्रमित प्रतियों के लिए, यह या अधिक पैलेट प्रविष्टियों के लिए अल्फा चैनल मान संग्रहीत करता है। ट्रूकलर और ग्रेस्केल प्रतियों के लिए, यह एकल पिक्सेल मान संग्रहीत करता है जिसे पूरी तरह से पारदर्शी माना जाता है। | ||
* <code>zTXt</code> समान सीमाओं के साथ संपीड़ित पाठ <code>tEXt</code>(और | * <code>zTXt</code> समान सीमाओं के साथ संपीड़ित पाठ <code>tEXt</code>(और संपीड़न विधि मार्कर) से सम्मिलित है | ||
इन चंक्स में लोअरकेस का पहला अक्षर इंगित करता है कि पीएनजी विनिर्देशन के लिए इनकी आवश्यकता नहीं है। कुछ भागों में लोअरकेस का अंतिम अक्षर इंगित करता है कि वे कॉपी करने के लिए सुरक्षित हैं, भले ही संबंधित आवेदन उन्हें समझ नही पाए जा सकते हैं। | इन चंक्स में लोअरकेस का पहला अक्षर इंगित करता है कि पीएनजी विनिर्देशन के लिए इनकी आवश्यकता नहीं है। कुछ भागों में लोअरकेस का अंतिम अक्षर इंगित करता है कि वे कॉपी करने के लिए सुरक्षित हैं, भले ही संबंधित आवेदन उन्हें समझ नही पाए जा सकते हैं। | ||
| Line 182: | Line 179: | ||
|} | |} | ||
पीएनजी | पीएनजी प्रतियों में पिक्सेल संख्याएं होती हैं जो या तो पैलेट (कंप्यूटिंग) या स्वयं नमूना डेटा में नमूना डेटा के सूचकांक हो सकती हैं। पैलेट PLTE चंक में समाहित अलग सूची है। एकल पिक्सेल के लिए नमूना डेटा में और चार संख्याओं के बीच का टपल होता है। चाहे पिक्सेल डेटा पैलेट इंडेक्स या स्पष्ट नमूना मूल्यों का प्रतिनिधित्व करता हो, संख्याओं को [[चैनल (डिजिटल छवि)|चैनल (डिजिटल प्रतिबिम्ब)]] के रूप में संदर्भित किया जाता है और प्रतिबिम्ब में प्रत्येक संख्या समान प्रारूप के साथ एन्कोड की जाती है। | ||
स्वीकृत प्रारूप प्रत्येक संख्या को | स्वीकृत प्रारूप प्रत्येक संख्या को निश्चित संख्या में बिट्स का उपयोग करके अहस्ताक्षरित पूर्णांक मान के रूप में एन्कोड करता है, जिसे पीएनजी विनिर्देश में बिट गहराई के रूप में संदर्भित किया जाता है। ध्यान दें कि यह [[रंग की गहराई]] के समान नहीं है, जिसका उपयोग सामान्यतः प्रत्येक पिक्सेल में बिट्स की कुल संख्या को संदर्भित करने के लिए किया जाता है, न कि प्रत्येक चैनल को। प्रत्येक पिक्सेल के लिए उपयोग की जाने वाली बिट्स की कुल संख्या के साथ अनुमत बिट डेप्थ को सूची में संक्षेपित किया गया है। | ||
चैनलों की संख्या इस बात पर निर्भर करती है कि | चैनलों की संख्या इस बात पर निर्भर करती है कि प्रतिबिम्ब ग्रेस्केल है या रंग और क्या इसमें [[अल्फा चैनल]] है। पीएनजी चैनलों के निम्नलिखित संयोजनों की अनुमति देता है, जिन्हें रंग प्रकार कहा जाता है। | ||
[[File:PNG color depth comparison.png|thumb|upright=1.5|प्रति चैनल बिट्स में पीएनजी फ़ाइल में रंग की गहराई का प्रदर्शन। बायां: 8 बिट, दायां: 16 बिट। [[डिजिटल आर्टिफैक्ट]] पर ध्यान दें, स्पष्टता के लिए समायोजित कंट्रास्ट।]] | [[File:PNG color depth comparison.png|thumb|upright=1.5|प्रति चैनल बिट्स में पीएनजी फ़ाइल में रंग की गहराई का प्रदर्शन। बायां: 8 बिट, दायां: 16 बिट। [[डिजिटल आर्टिफैक्ट]] पर ध्यान दें, स्पष्टता के लिए समायोजित कंट्रास्ट।]] | ||
{| class=wikitable | {| class=wikitable | ||
| Line 231: | Line 228: | ||
|} | |} | ||
* बिट वैल्यू 1: इमेज डेटा पैलेट इंडेक्स को स्टोर करता है। यह बिट मान 2 के संयोजन में ही मान्य है; | * बिट वैल्यू 1: इमेज डेटा पैलेट इंडेक्स को स्टोर करता है। यह बिट मान 2 के संयोजन में ही मान्य है; | ||
* बिट मान 2: | * बिट मान 2: प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग के तीन चैनल होते हैं जो [[ट्राइक्रोमेसी]] [[रंग]] होते हैं, अन्यथा प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग सापेक्ष ल्यूमिनेंस का चैनल होता है, | ||
* बिट मान 4: | * बिट मान 4: प्रतिबिम्ब के नमूनों में अल्फा चैनल भी होता है जिसे पिक्सेल की अपारदर्शिता के रैखिक माप के रूप में व्यक्त किया जाता है। यह बिट मान 1 के संयोजन में मान्य नहीं है। | ||
अनुक्रमित रंग | अनुक्रमित रंग प्रतियों के साथ, पैलेट हमेशा 8 बिट प्रति चैनल (24 बिट प्रति पैलेट प्रविष्टि) की गहराई पर ट्राइक्रोमैटिक रंगों को संग्रहीत करता है। इसके अतिरिक्त, पैलेट प्रविष्टियों के लिए 8-बिट अल्फा मानों की वैकल्पिक सूची सम्मिलित की जा सकती है; यदि सम्मिलित नहीं है, या यदि पैलेट से छोटा है, तो शेष पैलेट प्रविष्टियों को अपारदर्शी माना जाता है। पैलेट में प्रतिबिम्ब बिट गहराई की अनुमति से अधिक प्रविष्टियां नहीं होनी चाहिए, किन्तु इसमें कम हो सकती है (उदाहरण के लिए, यदि 8-बिट पिक्सेल वाली प्रतिबिम्ब केवल 90 रंगों का उपयोग करती है तो उसे सभी 256 रंगों के लिए पैलेट प्रविष्टियों की आवश्यकता नहीं होती है)। पैलेट में प्रतिबिम्ब में सम्मिलित सभी पिक्सेल मानों की प्रविष्टियाँ होनी चाहिए। | ||
मानक अनुक्रमित रंग पीएनजी को प्रति पिक्सेल 1, 2, 4 या 8 बिट्स की अनुमति देता है; बिना अल्फा चैनल वाली ग्रेस्केल | मानक अनुक्रमित रंग पीएनजी को प्रति पिक्सेल 1, 2, 4 या 8 बिट्स की अनुमति देता है; बिना अल्फा चैनल वाली ग्रेस्केल प्रतियों में प्रति पिक्सेल 1, 2, 4, 8 या 16 बिट हो सकते हैं। बाकी सब कुछ 8 या 16 के प्रति चैनल थोड़ी गहराई का उपयोग करता है। यह संयोजन जो अनुमति देता है वह ऊपर दी गई सूची में दिया गया है। मानक के लिए आवश्यक है कि डिकोडर सभी समर्थित रंग स्वरूपों को पढ़ सकें, किन्तु कई प्रतिबिम्ब संपादक केवल उनमें से छोटा सा उपसमुच्चय ही बना सकते हैं। | ||
=== | === प्रतिबिम्ब की पारदर्शिता === | ||
पीएनजी विभिन्न प्रकार के पारदर्शिता विकल्प प्रदान करता है। ट्रू-कलर और ग्रेस्केल | पीएनजी विभिन्न प्रकार के पारदर्शिता विकल्प प्रदान करता है। ट्रू-कलर और ग्रेस्केल प्रतियों के साथ या तो एकल पिक्सेल मान को पारदर्शी घोषित किया जा सकता है या अल्फा चैनल जोड़ा जा सकता है (आंशिक पारदर्शिता के किसी भी प्रतिशत का उपयोग करने के लिए सक्षम करना)। पैलेट की गई प्रतियों के लिए, पैलेट प्रविष्टियों में अल्फा मान जोड़े जा सकते हैं। संग्रहीत ऐसे मानों की संख्या पैलेट प्रविष्टियों की कुल संख्या से कम हो सकती है, इस मामले में शेष प्रविष्टियों को पूरी तरह से अपारदर्शी माना जाता है। | ||
पिक्सल के अनजाने में पारदर्शी होने से बचने के लिए किसी भी रंग में कमी से पहले बाइनरी ट्रांसपेरेंसी के लिए पिक्सेल वैल्यू की स्कैनिंग की जानी चाहिए। यह उन प्रणालियों के लिए | पिक्सल के अनजाने में पारदर्शी होने से बचने के लिए किसी भी रंग में कमी से पहले बाइनरी ट्रांसपेरेंसी के लिए पिक्सेल वैल्यू की स्कैनिंग की जानी चाहिए। यह उन प्रणालियों के लिए समस्या उत्पन्न करने की सबसे अधिक संभावना है जो 16-बिट्स-प्रति-चैनल प्रतियों को डिकोड कर सकते हैं (जैसा कि विनिर्देश के अनुपालन के लिए आवश्यक है) किन्तु केवल 8 बिट्स प्रति चैनल पर आउटपुट (उच्चतम अंत प्रणालियों के अतिरिक्त सभी के लिए मानक) . | ||
अल्फ़ा संग्रहण संबद्ध (अल्फ़ा कंपोज़िटिंग) या असंबद्ध हो सकता है, किन्तु पीएनजी मानकीकृत है<ref name="w3.org">{{cite web|url=http://www.w3.org/TR/PNG-Rationale.html|title=PNG Specification: Rationale|work=w3.org}}</ref> असम्बद्ध ( गैर-प्रीमिलीप्लाइड ) अल्फ़ा पर, जिसका अर्थ है कि इमेजरी अल्फ़ा एन्कोडेड नहीं है; आरजीबी में दर्शाए गए उत्सर्जन पिक्सेल स्तर पर उत्सर्जन नहीं हैं। इसका मतलब है कि ओवर ऑपरेशन आरजीबी उत्सर्जन को अल्फा से गुणा करेगा, और उत्सर्जन और रोड़ा का ठीक से प्रतिनिधित्व नहीं कर सकता है। | अल्फ़ा संग्रहण संबद्ध (अल्फ़ा कंपोज़िटिंग) या असंबद्ध हो सकता है, किन्तु पीएनजी मानकीकृत है<ref name="w3.org">{{cite web|url=http://www.w3.org/TR/PNG-Rationale.html|title=PNG Specification: Rationale|work=w3.org}}</ref> असम्बद्ध ( गैर-प्रीमिलीप्लाइड ) अल्फ़ा पर, जिसका अर्थ है कि इमेजरी अल्फ़ा एन्कोडेड नहीं है; आरजीबी में दर्शाए गए उत्सर्जन पिक्सेल स्तर पर उत्सर्जन नहीं हैं। इसका मतलब है कि ओवर ऑपरेशन आरजीबी उत्सर्जन को अल्फा से गुणा करेगा, और उत्सर्जन और रोड़ा का ठीक से प्रतिनिधित्व नहीं कर सकता है। | ||
=== संपीड़न === | === संपीड़न === | ||
[[File:PNG demo Banana.png|thumb|250px|कई प्रकार की | [[File:PNG demo Banana.png|thumb|250px|कई प्रकार की प्रतिबिम्ब सामग्री के साथ उदाहरण]][[File:PNG demo heatmap Banana.png|thumb|251px|उपरोक्त पीएनजी फ़ाइल के लिए प्रति पिक्सेल बिट लागत का प्रतिनिधित्व (लाल=महंगा, नीला=सस्ता)]]पीएनजी 2-चरण संपीड़न प्रक्रिया का उपयोग करता है: | ||
* पूर्व-संपीड़न: फ़िल्टरिंग (भविष्यवाणी) | * पूर्व-संपीड़न: फ़िल्टरिंग (भविष्यवाणी) | ||
* संपीड़न: अवहेलना | * संपीड़न: अवहेलना | ||
पीएनजी [[DEFLATE|डेफ्लेट]] का उपयोग करता है, | पीएनजी [[DEFLATE|डेफ्लेट]] का उपयोग करता है, गैर-पेटेंट दोषरहित डेटा संपीड़न [[कलन विधि]] जिसमें [[LZ77 और LZ78]] और [[हफ़मैन कोडिंग]] का संयोजन सम्मिलित है। [[अनुमेय सॉफ्टवेयर लाइसेंस]] डेफ्लेट कार्यान्वयन, जैसे कि zlib, व्यापक रूप से उपलब्ध हैं। | ||
जेपीईजी जैसे हानिकारक संपीड़न वाले प्रारूपों की तुलना में, औसत विलंब प्रसंस्करण से अधिक संपीड़न सेटिंग चुनना, किन्तु अधिकांशतः इसका परिणाम महत्वपूर्ण रूप से छोटे फ़ाइल आकार में नहीं होता है। | जेपीईजी जैसे हानिकारक संपीड़न वाले प्रारूपों की तुलना में, औसत विलंब प्रसंस्करण से अधिक संपीड़न सेटिंग चुनना, किन्तु अधिकांशतः इसका परिणाम महत्वपूर्ण रूप से छोटे फ़ाइल आकार में नहीं होता है। | ||
| Line 256: | Line 253: | ||
==== फिल्टर ==== | ==== फिल्टर ==== | ||
[[File:Pixel-prediction.svg|thumb|128px|पीएनजी की फ़िल्टर विधि 0 X के मान की भविष्यवाणी करने के लिए पिक्सेल A, B और C में डेटा का उपयोग कर सकती है।]] | [[File:Pixel-prediction.svg|thumb|128px|पीएनजी की फ़िल्टर विधि 0 X के मान की भविष्यवाणी करने के लिए पिक्सेल A, B और C में डेटा का उपयोग कर सकती है।]] | ||
[[File:PNG-Gradient.png|thumb|128px|256 रंगों वाला | [[File:PNG-Gradient.png|thumb|128px|256 रंगों वाला पीएनजी, जो प्री-फिल्टर के साथ केवल 251 बाइट बड़ा है। GIF जैसी ही प्रतिबिम्ब तेरह गुना से अधिक बड़ी होगी।]]डेफ्लेट लागू होने से पहले, डेटा को भविष्यवाणी विधि के माध्यम से रूपांतरित किया जाता है: संपूर्ण प्रतिबिम्ब के लिए एकल फ़िल्टर विधि का उपयोग किया जाता है, जबकि प्रत्येक प्रतिबिम्ब रेखा के लिए, डेटा को अधिक कुशलता से संपीड़ित करने के लिए बदलने के लिए फ़िल्टर प्रकार चुना जाता है।{{Sfn|W3C|2003|loc=[https://www.w3.org/TR/PNG/#9Filters 9 Filtering]}} स्कैनलाइन के लिए उपयोग किए जाने वाले फ़िल्टर प्रकार को इनलाइन डीकंप्रेसन को सक्षम करने के लिए स्कैनलाइन से जोड़ा जाता है। | ||
वर्तमान पीएनजी विनिर्देश (निरूपित विधि 0) में केवल | वर्तमान पीएनजी विनिर्देश (निरूपित विधि 0) में केवल फ़िल्टर विधि है, और इस प्रकार अभ्यास में केवल ही विकल्प है कि प्रत्येक पंक्ति पर कौन सा फ़िल्टर प्रकार लागू किया जाए। इस पद्धति के लिए, फ़िल्टर पिछले पड़ोसी पिक्सेल के मूल्यों के आधार पर प्रत्येक पिक्सेल के मूल्य की भविष्यवाणी करता है, और वास्तविक मूल्य से पिक्सेल के अनुमानित रंग को घटाता है, जैसा कि [[DPCM|डीपीसीएम]] में है। इस तरह से फ़िल्टर की गई प्रतिबिम्ब रेखा अधिकांशतः कच्ची प्रतिबिम्ब रेखा की तुलना में अधिक संकुचित होती है, खासकर यदि यह ऊपर की रेखा के समान होती है, क्योंकि भविष्यवाणी से अंतर सामान्यतः सभी संभावित प्रतिबिम्ब मूल्यों में फैलने के अतिरिक्त 0 के आसपास होता है। यह विशेष रूप से अलग-अलग पंक्तियों के संबंध में महत्वपूर्ण है, क्योंकि डेफ्लेट को यह समझ नहीं है कि प्रतिबिम्ब 2D इकाई है, और इसके अतिरिक्त केवल प्रतिबिम्ब डेटा को बाइट्स की धारा के रूप में देखता है। | ||
फ़िल्टर विधि 0 के लिए पाँच फ़िल्टर प्रकार हैं; प्रत्येक प्रकार प्रत्येक बाइट के मूल्य की भविष्यवाणी करता है (फ़िल्टरिंग से पहले | फ़िल्टर विधि 0 के लिए पाँच फ़िल्टर प्रकार हैं; प्रत्येक प्रकार प्रत्येक बाइट के मूल्य की भविष्यवाणी करता है (फ़िल्टरिंग से पहले प्रतिबिम्ब डेटा का) पिक्सेल के बाईं ओर (ए), पिक्सेल के ऊपर (बी), और पिक्सेल के ऊपर और बाईं ओर (सी) या इसके कुछ संयोजन, और अनुमानित मूल्य और वास्तविक मूल्य के बीच अंतर को कूटबद्ध करता है। फ़िल्टर बाइट मानों पर लागू होते हैं, पिक्सेल पर नहीं; पिक्सेल मान या दो बाइट, या प्रति बाइट कई मान हो सकते हैं, किन्तु कभी भी बाइट सीमाओं को पार नहीं करते हैं। फ़िल्टर प्रकार हैं:<ref>{{cite web| url = http://www.libpng.org/pub/png/spec/1.2/PNG-Filters.html| work = PNG Specification| title = Filter Algorithms}}</ref> | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 276: | Line 273: | ||
| 4|| पाएथ|| ए, बी, या सी, जो भी पी = ए + बी - सी के सबसे करीब है | | 4|| पाएथ|| ए, बी, या सी, जो भी पी = ए + बी - सी के सबसे करीब है | ||
|} | |} | ||
पाएथ फ़िल्टर एलन W. पाएथ द्वारा | पाएथ फ़िल्टर एलन W. पाएथ द्वारा एल्गोरिथम पर आधारित है।<ref>{{cite journal|last1=Paeth|first1=Alan W.|title=छवि फ़ाइल संपीड़न आसान हो गया|journal=Graphics Gems 2|editor-last=Arvo|editor-first=James|publisher=Academic Press, San Diego|date=1991|pages=93–100|doi=10.1016/B978-0-08-050754-5.50029-3|isbn=0-12-064480-0}} {{closed access}}</ref> | ||
दोषरहित जेपीईजी में उपयोग किए गए डीपीसीएम के संस्करण की तुलना करें, और 1×2, 2×1, या (पेथ प्रेडिक्टर के लिए) 2×2 विंडो और [[ उसकी तरंगिका | उसकी तरंगिका]] ्स का उपयोग करके असतत वेवलेट ट्रांसफ़ॉर्म करें। | दोषरहित जेपीईजी में उपयोग किए गए डीपीसीएम के संस्करण की तुलना करें, और 1×2, 2×1, या (पेथ प्रेडिक्टर के लिए) 2×2 विंडो और [[ उसकी तरंगिका |उसकी तरंगिका]] ्स का उपयोग करके असतत वेवलेट ट्रांसफ़ॉर्म करें। | ||
लाइन-बाय-लाइन आधार पर अनुकूली रूप से फ़िल्टर प्रकारों को चुनकर संपीड़न में और सुधार किया जाता है। यह सुधार, और सामान्यतः पीएनजी-लेखन सॉफ्टवेयर द्वारा उपयोग किए जाने वाले इसे लागू करने का | लाइन-बाय-लाइन आधार पर अनुकूली रूप से फ़िल्टर प्रकारों को चुनकर संपीड़न में और सुधार किया जाता है। यह सुधार, और सामान्यतः पीएनजी-लेखन सॉफ्टवेयर द्वारा उपयोग किए जाने वाले इसे लागू करने का अनुमानी तरीका, ली डेनियल क्रोकर द्वारा बनाया गया था, जिन्होंने प्रारूप के निर्माण के समय कई प्रतियों पर विधियों का परीक्षण किया था;<ref>{{cite journal| url = http://www.ddj.com/architect/184409587?pgno=4| title = PNG: The Portable Network Graphic Format| journal = [[Dr. Dobb's Journal]]| issue = 232|date=July 1995| volume = 20| pages = 36–44| first = Lee Daniel| last = Crocker| author-link = Lee Daniel Crocker}}</ref> फ़िल्टर का चुनाव फ़ाइल आकार अनुकूलन का घटक है, जैसा कि नीचे चर्चा की गई है। | ||
यदि इंटरलेसिंग का उपयोग किया जाता है, तो इंटरलेसिंग के प्रत्येक चरण को अलग से फ़िल्टर किया जाता है, जिसका अर्थ है कि प्रत्येक चरण प्राप्त होने पर | यदि इंटरलेसिंग का उपयोग किया जाता है, तो इंटरलेसिंग के प्रत्येक चरण को अलग से फ़िल्टर किया जाता है, जिसका अर्थ है कि प्रत्येक चरण प्राप्त होने पर प्रतिबिम्ब को उत्तरोत्तर रेंडर किया जा सकता है; चूंकि, इंटरलेसिंग सामान्यतः संपीड़न को कम प्रभावी बनाता है। | ||
=== इंटरलेसिंग === | === इंटरलेसिंग === | ||
[[File:Adam7 passes.gif|thumb|एक 16×16 | [[File:Adam7 passes.gif|thumb|एक 16×16 प्रतिबिम्ब पर एडम7 इंटरलेसिंग का उदाहरण।]]पीएनजी वैकल्पिक 2-आयामी, 7-पास [[इंटरलेसिंग (बिटमैप्स)]] योजना-एडम7 एल्गोरिथम प्रदान करता है। यह जीआईएफ की 1-आयामी, 4-पास योजना की तुलना में अधिक परिष्कृत है, और स्पष्ट कम-रिज़ॉल्यूशन प्रतिबिम्ब को स्थानांतरण में पहले दिखाई देने की अनुमति देता है, खासकर अगर इंटरपोलेशन एल्गोरिदम जैसे [[बाइबिक इंटरपोलेशन]] का उपयोग किया जाता है।<ref>{{cite web|url=http://nuwen.net/png.html|title=पीएनजी का परिचय|publisher=nuwen.net|access-date=2010-10-20}}</ref> | ||
चूंकि, 7-पास योजना सरल योजनाओं की तुलना में डेटा की संपीड्यता को कम करती है। | चूंकि, 7-पास योजना सरल योजनाओं की तुलना में डेटा की संपीड्यता को कम करती है। | ||
=== एनिमेशन === | === एनिमेशन === | ||
[[File:Animated PNG example bouncing beach ball.png|thumb|एक एपीएनजी (एनिमेटेड पीएनजी) फ़ाइल (वेब ब्राउज़र की तुलना में स्थिर | [[File:Animated PNG example bouncing beach ball.png|thumb|एक एपीएनजी (एनिमेटेड पीएनजी) फ़ाइल (वेब ब्राउज़र की तुलना में स्थिर प्रतिबिम्ब के रूप में प्रदर्शित होती है # प्रतिबिम्ब प्रारूप समर्थन)]]पीएनजी स्वयं एनीमेशन का समर्थन नहीं करता है। बहु-प्रतिबिम्ब नेटवर्क ग्राफ़िक्स पीएनजी का विस्तार है जो करता है; इसे पीएनजी समूह के सदस्यों द्वारा डिजाइन किया गया था। एमएनजी पीएनजी की मूल संरचना और भाग साझा करता है, किन्तु यह अधिक अधिक जटिल है और इसमें अलग फ़ाइल हस्ताक्षर है, जो स्वचालित रूप से इसे मानक पीएनजी डिकोडर्स के साथ असंगत बना देता है। इसका अर्थ है कि अधिकांश वेब ब्राउज़र और एप्लिकेशन ने या तो कभी एमएनजी का समर्थन नहीं किया या इसके लिए समर्थन छोड़ दिया। | ||
एमएनजी की जटिलता ने मौजिला फाउंडेशन के डेवलपर्स द्वारा एपीएनजी के प्रस्ताव का नेतृत्व किया। यह पीएनजी पर आधारित है, एनीमेशन का समर्थन करता है और एमएनजी से सरल है। एपीएनजी, एपीएनजी का समर्थन नहीं करने वाले पीएनजी डिकोडर्स के लिए सिंगल-इमेज डिस्प्ले पर फ़ॉलबैक ऑफ़र करता है। आज, एपीएनजी प्रारूप सभी प्रमुख वेब ब्राउज़रों द्वारा समर्थित है।<ref name=":0">{{Cite web|title=Can I use... Support tables for HTML5, CSS3, etc|url=https://caniuse.com/apng|access-date=2021-02-06|website=caniuse.com}}</ref> एपीएनजी [[मोज़िला फ़ायरफ़ॉक्स]] 3.0 और ऊपर, पेल मून (वेब ब्राउज़र) (सभी संस्करण), और [[सफारी (वेब ब्राउज़र)]] 8.0 और ऊपर समर्थित है।<ref>{{cite web |date=2014-09-17 |title=iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps |url=http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers |access-date=2014-09-24 |publisher=mobilexweb.com}}</ref> क्रोमियम 59.0 ने एपीएनजी समर्थन जोड़ा,<ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+/7d2b8c45afc9c0230410011293cc2e1dbb8943a7|title = chromium / chromium / src / 7d2b8c45afc9c0230410011293cc2e1dbb8943a7|access-date = 31 March 2017|author=scroggo|work = chromium.googlesource.com|date = 14 March 2017}}</ref><ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+log/59.0.3047.0..59.0.3053.0?pretty=fuller&n=10000|title = chromium / chromium / src / 59.0.3047.0..59.0.3053.0|access-date = 31 March 2017|author=chrome-cron|display-authors=etal|work = chromium.googlesource.com|date = 27 March 2017}}</ref> इसके बाद गूगल क्रोम आता है। [[ओपेरा (वेब ब्राउज़र)]] ने संस्करण 10-12.1 में एपीएनजी का समर्थन किया, किन्तु संस्करण 15 में समर्थन समाप्त हो गया जब यह [[ब्लिंक (ब्राउज़र इंजन)]] रेंडरिंग इंजन में बदल गया; समर्थन ओपेरा 46 (क्रोमियम 59 से विरासत में मिला) में फिर से जोड़ा गया था।<ref>{{Cite web |title=Dev.Opera — What's new in Chromium 59 and Opera 46 |url=https://dev.opera.com/blog/opera-46/ |access-date=2022-09-11 |website=dev.opera.com}}</ref> माइक्रोसॉफ्ट एज ने एपीएनजी संस्करण 79.0 के बाद से समर्थन किया है, जब यह क्रोमियम-आधारित इंजन पर स्विच किया गया था। | एमएनजी की जटिलता ने मौजिला फाउंडेशन के डेवलपर्स द्वारा एपीएनजी के प्रस्ताव का नेतृत्व किया। यह पीएनजी पर आधारित है, एनीमेशन का समर्थन करता है और एमएनजी से सरल है। एपीएनजी, एपीएनजी का समर्थन नहीं करने वाले पीएनजी डिकोडर्स के लिए सिंगल-इमेज डिस्प्ले पर फ़ॉलबैक ऑफ़र करता है। आज, एपीएनजी प्रारूप सभी प्रमुख वेब ब्राउज़रों द्वारा समर्थित है।<ref name=":0">{{Cite web|title=Can I use... Support tables for HTML5, CSS3, etc|url=https://caniuse.com/apng|access-date=2021-02-06|website=caniuse.com}}</ref> एपीएनजी [[मोज़िला फ़ायरफ़ॉक्स]] 3.0 और ऊपर, पेल मून (वेब ब्राउज़र) (सभी संस्करण), और [[सफारी (वेब ब्राउज़र)]] 8.0 और ऊपर समर्थित है।<ref>{{cite web |date=2014-09-17 |title=iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps |url=http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers |access-date=2014-09-24 |publisher=mobilexweb.com}}</ref> क्रोमियम 59.0 ने एपीएनजी समर्थन जोड़ा,<ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+/7d2b8c45afc9c0230410011293cc2e1dbb8943a7|title = chromium / chromium / src / 7d2b8c45afc9c0230410011293cc2e1dbb8943a7|access-date = 31 March 2017|author=scroggo|work = chromium.googlesource.com|date = 14 March 2017}}</ref><ref>{{cite web|url = https://chromium.googlesource.com/chromium/src/+log/59.0.3047.0..59.0.3053.0?pretty=fuller&n=10000|title = chromium / chromium / src / 59.0.3047.0..59.0.3053.0|access-date = 31 March 2017|author=chrome-cron|display-authors=etal|work = chromium.googlesource.com|date = 27 March 2017}}</ref> इसके बाद गूगल क्रोम आता है। [[ओपेरा (वेब ब्राउज़र)]] ने संस्करण 10-12.1 में एपीएनजी का समर्थन किया, किन्तु संस्करण 15 में समर्थन समाप्त हो गया जब यह [[ब्लिंक (ब्राउज़र इंजन)]] रेंडरिंग इंजन में बदल गया; समर्थन ओपेरा 46 (क्रोमियम 59 से विरासत में मिला) में फिर से जोड़ा गया था।<ref>{{Cite web |title=Dev.Opera — What's new in Chromium 59 and Opera 46 |url=https://dev.opera.com/blog/opera-46/ |access-date=2022-09-11 |website=dev.opera.com}}</ref> माइक्रोसॉफ्ट एज ने एपीएनजी संस्करण 79.0 के बाद से समर्थन किया है, जब यह क्रोमियम-आधारित इंजन पर स्विच किया गया था। | ||
| Line 301: | Line 298: | ||
| style="width: 20em"| {{code|89 50 4E 47 0D 0A 1A 0A}}<br />पीएनजी signature | | style="width: 20em"| {{code|89 50 4E 47 0D 0A 1A 0A}}<br />पीएनजी signature | ||
| style="width: 14em"| आईएचडीआर | | style="width: 14em"| आईएचडीआर | ||
प्रतिबिम्ब शीर्षलेख | |||
| style="width: 26em"| आईडीएटी | | style="width: 26em"| आईडीएटी | ||
प्रतिबिम्ब डेटा | |||
| style="width: 14em"| IEND | | style="width: 14em"| IEND | ||
प्रतिबिम्ब अंत | |||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ एक लाल पिक्सेल का प्रतिनिधित्व करने वाली | |+ एक लाल पिक्सेल का प्रतिनिधित्व करने वाली न्यूनतम टोक फ़ाइल की सामग्री | ||
|- | |- | ||
! scope="col"|हैक्स | ! scope="col"|हैक्स | ||
| Line 351: | Line 348: | ||
|1 | |1 | ||
| | | | ||
| | |प्रतिबिम्ब 1 पिक्सेल चौड़ी है | ||
|- | |- | ||
|12 | |12 | ||
| Line 419: | Line 416: | ||
|10 | |10 | ||
|0x63F8CFC00000 | |0x63F8CFC00000 | ||
|स्थिर हफमैन कोड का उपयोग कर | |स्थिर हफमैन कोड का उपयोग कर संकुचित डेफलेट ब्लॉक जो 0x00 0xFF 0x00 0x00 को डिकोड करता है<ref>{{Cite journal|title=rfc1951|url=https://datatracker.ietf.org/doc/html/rfc1951#page-3|access-date=2021-08-18|website=datatracker.ietf.org|date=May 1996|last1=Deutsch|first1=L. Peter}}</ref> | ||
|- | |- | ||
|16 | |16 | ||
| Line 434: | Line 431: | ||
इस अंतर्राष्ट्रीय मानक का उपयोग करने के कारण हो सकते हैं: | इस अंतर्राष्ट्रीय मानक का उपयोग करने के कारण हो सकते हैं: | ||
*पोर्टेबिलिटी: ट्रांसमिशन सॉफ्टवेयर और हार्डवेयर प्लेटफॉर्म से स्वतंत्र है। | *पोर्टेबिलिटी: ट्रांसमिशन सॉफ्टवेयर और हार्डवेयर प्लेटफॉर्म से स्वतंत्र है। | ||
*पूर्णता: ट्रूकलर, इंडेक्स्ड-कलर और ग्रेस्केल | *पूर्णता: ट्रूकलर, इंडेक्स्ड-कलर और ग्रेस्केल प्रतियों का प्रतिनिधित्व करना संभव है। | ||
*श्रृंखला में कोडिंग और डिकोडिंग: श्रृंखला में डेटा स्ट्रीम उत्पन्न करने और पढ़ने की अनुमति देता है, अर्थात, डेटा स्ट्रीम का प्रारूप धारावाहिक संचार के माध्यम से इस समय | *श्रृंखला में कोडिंग और डिकोडिंग: श्रृंखला में डेटा स्ट्रीम उत्पन्न करने और पढ़ने की अनुमति देता है, अर्थात, डेटा स्ट्रीम का प्रारूप धारावाहिक संचार के माध्यम से इस समय प्रतियों के निर्माण और दृश्य के लिए उपयोग किया जाता है। | ||
*प्रगतिशील प्रस्तुति: डेटा प्रवाह को प्रसारित करने में सक्षम होने के लिए जो प्रारंभ में पूरी | *प्रगतिशील प्रस्तुति: डेटा प्रवाह को प्रसारित करने में सक्षम होने के लिए जो प्रारंभ में पूरी प्रतिबिम्ब का अनुमान है और डेटा प्रवाह प्राप्त होने पर उत्तरोत्तर सुधार होता है। | ||
*संचारण त्रुटियों के लिए सुदृढ़ता: डेटा स्ट्रीम की संचरण त्रुटियों का सही ढंग से पता लगाता है। | *संचारण त्रुटियों के लिए सुदृढ़ता: डेटा स्ट्रीम की संचरण त्रुटियों का सही ढंग से पता लगाता है। | ||
*हानिरहित: कोई हानि नहीं: फ़िल्टरिंग और संपीड़न सभी सूचनाओं को संरक्षित करते हैं। | *हानिरहित: कोई हानि नहीं: फ़िल्टरिंग और संपीड़न सभी सूचनाओं को संरक्षित करते हैं। | ||
*दक्षता: कोई भी प्रगतिशील | *दक्षता: कोई भी प्रगतिशील प्रतिबिम्ब प्रस्तुति, संपीड़न और फ़िल्टरिंग कुशल डिकोडिंग और प्रस्तुति की मांग करती है। | ||
*संपीड़न: | *संपीड़न: प्रतियों को कुशलतापूर्वक और लगातार संपीड़ित किया जा सकता है। | ||
*सहजता: मानक का कार्यान्वयन सरल है। | *सहजता: मानक का कार्यान्वयन सरल है। | ||
* विनिमेयता: मानकों का पालन करने वाला कोई भी पीएनजी डिकोडर सभी पीएनजी डेटा स्ट्रीम को पढ़ सकता है। | * विनिमेयता: मानकों का पालन करने वाला कोई भी पीएनजी डिकोडर सभी पीएनजी डेटा स्ट्रीम को पढ़ सकता है। | ||
| Line 450: | Line 447: | ||
=== ग्राफिक्स इंटरचेंज फॉर्मेट ([[जीआईएफ]]) === | === ग्राफिक्स इंटरचेंज फॉर्मेट ([[जीआईएफ]]) === | ||
* छोटी | * छोटी प्रतियों पर, GIF पीएनजी की तुलना में अधिक संपीड़न प्राप्त कर सकता है (नीचे #फ़ाइल आकार और अनुकूलन सॉफ़्टवेयर देखें)। | ||
* अधिकांश | * अधिकांश प्रतियों पर, उपरोक्त मामले को छोड़कर, GIF फ़ाइल का आकार अनुक्रमित पीएनजी प्रतिबिम्ब से बड़ा होता है। | ||
* पीएनजी अल्फा चैनल पारदर्शिता सहित, GIF की तुलना में अधिक व्यापक श्रेणी के पारदर्शिता विकल्प प्रदान करता है। | * पीएनजी अल्फा चैनल पारदर्शिता सहित, GIF की तुलना में अधिक व्यापक श्रेणी के पारदर्शिता विकल्प प्रदान करता है। | ||
* जबकि जीआईएफ 8-बिट [[अनुक्रमित रंग]] तक सीमित है, पीएनजी 24-बिट (8 बिट प्रति चैनल) और 48-बिट (16 बिट प्रति चैनल) [[24-बिट रंग]] सहित रंग की गहराई की | * जबकि जीआईएफ 8-बिट [[अनुक्रमित रंग]] तक सीमित है, पीएनजी 24-बिट (8 बिट प्रति चैनल) और 48-बिट (16 बिट प्रति चैनल) [[24-बिट रंग]] सहित रंग की गहराई की विस्तृत श्रृंखला देता है, जो अधिक से अधिक अनुमति देता है रंग सटीक, चिकनी फीका, आदि।<ref>{{cite web|url=http://www.libpng.org/pub/png/pngintro.html|title=पीएनजी सुविधाओं का एक बुनियादी परिचय|publisher=Libpng.org|access-date=2010-10-20}}</ref> जब अल्फा चैनल जोड़ा जाता है, तो प्रति पिक्सेल 64 बिट तक (संपीड़न से पहले) संभव है। | ||
* किसी | * किसी प्रतिबिम्ब को पीएनजी प्रारूप से GIF में कनवर्ट करते समय, यदि पीएनजी प्रतिबिम्ब में 256 से अधिक रंग हैं, तो पोस्टरीकरण के कारण प्रतिबिम्ब गुणवत्ता प्रभावित हो सकती है। | ||
* जीआईएफ आंतरिक रूप से एनिमेटेड | * जीआईएफ आंतरिक रूप से एनिमेटेड प्रतियों का समर्थन करता है। पीएनजी केवल अनाधिकारिक एक्सटेंशन के माध्यम से एनिमेशन का समर्थन करता है (ऊपर #एनीमेशन देखें)। | ||
पीएनजी छवियां पुराने ब्राउज़रों द्वारा कम व्यापक रूप से समर्थित हैं। विशेष रूप से, IE6 में पीएनजी के लिए सीमित समर्थन है।<ref>{{cite web|url=http://www.sitepoint.com/gif-png-jpg-which-one-to-use/|title=GIF, PNG, JPG. Which One To Use?|publisher=Sitepoint.com|date=3 August 2009|access-date=2010-10-20}}</ref> | पीएनजी छवियां पुराने ब्राउज़रों द्वारा कम व्यापक रूप से समर्थित हैं। विशेष रूप से, IE6 में पीएनजी के लिए सीमित समर्थन है।<ref>{{cite web|url=http://www.sitepoint.com/gif-png-jpg-which-one-to-use/|title=GIF, PNG, JPG. Which One To Use?|publisher=Sitepoint.com|date=3 August 2009|access-date=2010-10-20}}</ref> | ||
=== जेपीईजी === | === जेपीईजी === | ||
[[File:Comparison of JPEG and PNG.png|thumb|200px|left|जेपीईजी में हानिकारक संपीड़न की तुलना पीएनजी में दोषरहित संपीड़न के साथ समग्र | [[File:Comparison of JPEG and PNG.png|thumb|200px|left|जेपीईजी में हानिकारक संपीड़न की तुलना पीएनजी में दोषरहित संपीड़न के साथ समग्र प्रतिबिम्ब: जेपीईजी कलाकृतियों को इस तरह के प्रतिबिम्ब डेटा की पृष्ठभूमि में सरलता से देखा जा सकता है, जहां पीएनजी प्रतिबिम्ब में ठोस रंग है।]]जेपीईजी (संयुक्त फोटोग्राफिक विशेषज्ञ समूह) प्रारूप [[फोटोग्राफी]] (और फोटो जैसी) प्रतियों के लिए पीएनजी की तुलना में छोटी फ़ाइल का उत्पादन कर सकता है, क्योंकि जेपीईजी विशेष रूप से फोटोग्राफिक प्रतिबिम्ब डेटा के लिए डिज़ाइन किए गए हानिकारक संपीड़न का उपयोग करता है, जो सामान्यतः नरम, कम-विपरीत संक्रमणों का प्रभुत्व होता है।, और ध्वनि या इसी प्रकार की अनियमित संरचनाओं की मात्रा का उपयोग किया जाता हैं। ऐसी प्रतियों के लिए उच्च-गुणवत्ता वाले जेपीईजी के अतिरिक्त पीएनजी का उपयोग करने से गुणवत्ता में [[पारदर्शिता (डेटा संपीड़न)]] लाभ के साथ फ़ाइल आकार में बड़ी वृद्धि होती हैं। इसकी तुलना में, उन प्रतियों को संग्रहीत करते समय जिनमें पाठ, रेखा कला, या ग्राफ़िक्स होते हैं - तेज संक्रमण वाली छवियां और ठोस रंग के बड़े क्षेत्र - पीएनजी प्रारूप प्रतिबिम्ब डेटा को जेपीईजी से अधिक संपीड़ित कर सकता है। इसके अतिरिक्त, पीएनजी दोषरहित है, जबकि जेपीईजी उच्च-विपरीत क्षेत्रों के आसपास दृश्य कलाकृतियों का निर्माण करता है। (इस तरह की कलाकृतियाँ JPG संपीड़न में उपयोग की जाने वाली सेटिंग्स पर निर्भर करती हैं; जब निम्न-गुणवत्ता [उच्च-संपीड़न] सेटिंग का उपयोग किया जाता है तो वे अधिक ध्यान देने योग्य हो सकते हैं।) दो प्रभाव। जेपीईजी पारदर्शिता का समर्थन नहीं करता है। | ||
जेपीईजी का हानिपूर्ण संपीड़न भी पीढ़ी के नुकसान से ग्रस्त है, जहां बार-बार डिकोडिंग और | जेपीईजी का हानिपूर्ण संपीड़न भी पीढ़ी के नुकसान से ग्रस्त है, जहां बार-बार डिकोडिंग और प्रतिबिम्ब को फिर से बचाने के लिए फिर से एन्कोडिंग करने से हर बार जानकारी की हानि होती है, जिससे प्रतिबिम्ब खराब हो जाती है। क्योंकि पीएनजी दोषरहित है, यह संपादित की जाने वाली प्रतियों को संग्रहीत करने के लिए उपयुक्त है। जबकि पीएनजी फोटोग्राफिक प्रतियों को संपीड़ित करते समय अधिक कुशल है, उदाहरण के लिए फोटोग्राफिक प्रतियों, दोषरहित वेबपी और [[डिजिटल नकारात्मक]] (डिजिटल नकारात्मक) के लिए विशेष रूप से डिज़ाइन किए गए दोषरहित संपीड़न प्रारूप हैं। चूंकि ये प्रारूप या तो व्यापक रूप से समर्थित नहीं हैं, या मालिकाना हैं। प्रतिबिम्ब को दोषरहित रूप से संग्रहीत किया जा सकता है और केवल वितरण के लिए जेपीईजी प्रारूप में परिवर्तित किया जा सकता है, जिससे कि कोई [[ पीढ़ी का नुकसान |पीढ़ी की हानि]] न हो। | ||
जबकि पीएनजी विनिर्देश में स्पष्ट रूप से डिजिटल कैमरों जैसे स्रोतों से Exif | जबकि पीएनजी विनिर्देश में स्पष्ट रूप से डिजिटल कैमरों जैसे स्रोतों से Exif प्रतिबिम्ब डेटा को एम्बेड करने के लिए मानक सम्मिलित नहीं है, पीएनजी में EXIF डेटा एम्बेड करने के लिए पसंदीदा तरीका गैर-महत्वपूर्ण सहायक चंक लेबल का उपयोग करना है <code>eXIf</code>.<ref name="PNG 1.2 eXIf">{{cite web|title=Extensions to the PNG 1.2 Specification, Version 1.5.0|url=http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html#C.eXIf|access-date=5 May 2020}}</ref> | ||
प्रारंभिक वेब ब्राउज़र पीएनजी | प्रारंभिक वेब ब्राउज़र पीएनजी प्रतियों का समर्थन नहीं करते थे; जेपीईजी और जीआईएफ मुख्य प्रतिबिम्ब प्रारूप थे। जीआईएफ की सीमित रंग गहराई के कारण वेब पेजों के लिए ग्रेडिएंट वाली प्रतियों का निर्यात करते समय जेपीईजी का सामान्यतः उपयोग किया जाता था। चूंकि, जेपीईजी संपीड़न के कारण ग्रेडिएंट थोड़ा धुंधला हो जाता है। पीएनजी प्रारूप फ़ाइल आकार को छोटा रखते हुए, दी गई बिट गहराई के लिए यथासंभव सटीक रूप से ढाल को पुन: उत्पन्न करता है। पीएनजी छोटे ग्रेडियेंट प्रतियों के लिए इष्टतम विकल्प बन गया क्योंकि प्रारूप में सुधार के लिए वेब ब्राउज़र समर्थन प्राप्त होता हैं। आधुनिक ब्राउज़रों में ग्रेडिएंट्स प्रदर्शित करने के लिए किसी इमेज की आवश्यकता नहीं है, क्योंकि [[व्यापक शैली पत्रक]] का उपयोग करके ग्रेडिएंट्स बनाए जा सकते हैं। | ||
=== [[ जेपीईजी-रास ]] === | === [[ जेपीईजी-रास ]] === | ||
जेपीईजी-एलएस संयुक्त फोटोग्राफिक विशेषज्ञ समूह द्वारा | जेपीईजी-एलएस संयुक्त फोटोग्राफिक विशेषज्ञ समूह द्वारा प्रतिबिम्ब प्रारूप है, चूंकि ऊपर चर्चा की गई अन्य हानिकारक जेपीईजी प्रारूप की तुलना में बहुत कम व्यापक रूप से ज्ञात और समर्थित है। यह पीएनजी के साथ सीधे तुलनीय है, और परीक्षण प्रतियों का मानक सेट है।<ref name="jpegstdimg">{{cite web|url=http://www.itu.int/net/ITU-T/sigdb/speimage/T87.htm|title=T.87 : Lossless and near-lossless compression of continuous-tone still images – Baseline|publisher=International Telecommunication Union|access-date=20 March 2011}}</ref> वाटरलू प्रदर्शनों की सूची कलरसेट पर, परीक्षण प्रतियों का मानक सेट (जेपीईजी-एलएस अनुरूपता परीक्षण सेट से असंबंधित), जेपीईजी-एलएस सामान्यतः पीएनजी से 10-15% उच्चतम प्रदर्शन करता है, किन्तु कुछ प्रतियों पर पीएनजी अधिक उच्चतम प्रदर्शन करता है। 50-75% का क्रम।<ref name="pngcf">{{harvnb|Roelofs|2003|loc=[http://www.libpng.org/pub/png/book/chapter09.html Chapter 9. Compression and Filtering]}}</ref> इस प्रकार, यदि ये दोनों प्रारूप विकल्प हैं और फ़ाइल का आकार महत्वपूर्ण मानदंड है, तो प्रतिबिम्ब के आधार पर इन दोनों पर विचार किया जाना चाहिए। | ||
=== झगड़ा === | === झगड़ा === | ||
टैग की गई | टैग की गई प्रतिबिम्ब फ़ाइल स्वरूप (टीआईएफएफ) प्रारूप है जिसमें विकल्पों की विस्तृत श्रृंखला सम्मिलित है। चूंकि यह टीआईएफएफ को पेशेवर प्रतिबिम्ब संपादन अनुप्रयोगों के बीच आदान-प्रदान के लिए सामान्य प्रारूप के रूप में उपयोगी बनाता है, यह अनुप्रयोगों के लिए इसके लिए समर्थन को बहुत बड़ा कार्य बनाता है और इसलिए प्रतिबिम्ब हेरफेर (जैसे वेब ब्राउज़र) से संबंधित अनुप्रयोगों में इसका समर्थन बहुत कम है। एक्स्टेंसिबिलिटी के उच्च स्तर का अर्थ यह भी है कि अधिकांश एप्लिकेशन संभावित सुविधाओं का केवल सबसेट प्रदान करते हैं, संभावित रूप से उपयोगकर्ता भ्रम और अनुकूलता के मुद्दे पैदा करते हैं। | ||
टीआईएफएफ के साथ प्रयोग किया जाने वाला सबसे आम सामान्य-उद्देश्य, दोषरहित संपीड़न एल्गोरिथम लेम्पेल-ज़िव-वेल्च (एलजेडडब्ल्यू) है। जीआईएफ में भी उपयोग की जाने वाली यह संपीड़न तकनीक, 2003 तक पेटेंट द्वारा कवर की गई थी। टीआईएफएफ संपीड़न एल्गोरिदम पीएनजी का भी समर्थन करता है (अर्ताथ टैग की गई | टीआईएफएफ के साथ प्रयोग किया जाने वाला सबसे आम सामान्य-उद्देश्य, दोषरहित संपीड़न एल्गोरिथम लेम्पेल-ज़िव-वेल्च (एलजेडडब्ल्यू) है। जीआईएफ में भी उपयोग की जाने वाली यह संपीड़न तकनीक, 2003 तक पेटेंट द्वारा कवर की गई थी। टीआईएफएफ संपीड़न एल्गोरिदम पीएनजी का भी समर्थन करता है (अर्ताथ टैग की गई प्रतिबिम्ब फ़ाइल प्रारूप # टीआईएफएफ संपीड़न टैग | संपीड़न टैग 0008<sub>16</sub>'[[Adobe Systems|एडोब सिस्टम]]-style') मध्यम उपयोग और अनुप्रयोगों द्वारा समर्थन के साथ। टीआईएफएफ [[CCITT Group IV|सीसीआईटीटी समूह IV]] जैसे विशेष-उद्देश्य दोषरहित संपीड़न एल्गोरिदम भी प्रदान करता है, जो पीएनजी के संपीड़न एल्गोरिदम की तुलना में [[ द्विआधारी छवि |द्विआधारी प्रतिबिम्ब]] (जैसे, फ़ैक्स या ब्लैक-एंड-व्हाइट टेक्स्ट) को उच्चतम ढंग से संपीड़ित कर सकता है। | ||
पीएनजी केवल गैर-प्रीमिलीप्लाइड अल्फ़ा का समर्थन करता है<ref name="w3.org" />जबकि टीआईएफएफ संबद्ध (प्रीमिलीप्लाइड) अल्फा का भी समर्थन करता है। | पीएनजी केवल गैर-प्रीमिलीप्लाइड अल्फ़ा का समर्थन करता है<ref name="w3.org" />जबकि टीआईएफएफ संबद्ध (प्रीमिलीप्लाइड) अल्फा का भी समर्थन करता है। | ||
== सॉफ्टवेयर समर्थन == | == सॉफ्टवेयर समर्थन == | ||
पीएनजी प्रारूप का आधिकारिक [[संदर्भ कार्यान्वयन]] [[ पुस्तकालय (कम्प्यूटिंग) ]] [[libpng]] है।<ref>{{cite web| url=http://www.libpng.org/pub/png/libpng.html| title=libpng| access-date=2013-07-13}}</ref> इसे | पीएनजी प्रारूप का आधिकारिक [[संदर्भ कार्यान्वयन]] [[ पुस्तकालय (कम्प्यूटिंग) |पुस्तकालय (कम्प्यूटिंग)]] [[libpng]] है।<ref>{{cite web| url=http://www.libpng.org/pub/png/libpng.html| title=libpng| access-date=2013-07-13}}</ref> इसे अनुमोदक [[अनुमेय मुफ्त सॉफ्टवेयर लाइसेंस]] शर्तों के तहत मुफ्त सॉफ्टवेयर के रूप में प्रकाशित किया जाता है। इसलिए, यह सामान्यतः मुफ्त ऑपरेटिंग सिस्टम में महत्वपूर्ण सिस्टम लाइब्रेरी के रूप में पाया जाता है। | ||
==== पीएनजी के लिए बिटमैप ग्राफिक्स संपादक समर्थन ==== | ==== पीएनजी के लिए बिटमैप ग्राफिक्स संपादक समर्थन ==== | ||
{{Main|रेखापुंज ग्राफिक्स संपादकों की तुलना}} | {{Main|रेखापुंज ग्राफिक्स संपादकों की तुलना}} | ||
पीएनजी प्रारूप ग्राफिक्स कार्यक्रमों द्वारा व्यापक रूप से समर्थित है, जिसमें [[Adobe Photoshop|एडोब फोटोशाॅप]], [[Corel]]'s [[Corel Photo-Paint]]|Photo-Paint और [[Corel Paint Shop Pro]], [[GIMP]], [[ग्राफिक कनवर्टर]], [[हेलिकॉन फ़िल्टर]], [[ImageMagick|इमेज मैजिक]], [[Inkscape]], [[IrfanView]], Pixel | पीएनजी प्रारूप ग्राफिक्स कार्यक्रमों द्वारा व्यापक रूप से समर्थित है, जिसमें [[Adobe Photoshop|एडोब फोटोशाॅप]], [[Corel]]'s [[Corel Photo-Paint]]|Photo-Paint और [[Corel Paint Shop Pro]], [[GIMP]], [[ग्राफिक कनवर्टर]], [[हेलिकॉन फ़िल्टर]], [[ImageMagick|इमेज मैजिक]], [[Inkscape]], [[IrfanView]], Pixel प्रतिबिम्ब संपादक, प्लेन डाॅट नेट सम्मिलित हैं। और ज़ारा फोटो और ग्राफिक डिजाइनर और कई अन्य। लोकप्रिय [[ऑपरेटिंग सिस्टम]] के साथ बंडल किए गए कुछ प्रोग्राम जो पीएनजी का समर्थन करते हैं, उनमें [[Microsoft|माइक्रोसाॅफ्ट]] के माइक्रोसाॅफ्ट पेंट और Apple Inc. की तस्वीरें (Apple) / [[iPhoto]] और [[पूर्वावलोकन (macOS)]] सम्मिलित हैं, GIMP के साथ भी अधिकांशतः लोकप्रिय [[Linux]] वितरण के साथ बंडल किया जाता है। | ||
[[Adobe Fireworks|एडोब फायर वर्क्स]] (पूर्व में [[Macromedia]] द्वारा) अपने मूल फ़ाइल स्वरूप के रूप में पीएनजी का उपयोग करता है, जिससे अन्य | [[Adobe Fireworks|एडोब फायर वर्क्स]] (पूर्व में [[Macromedia]] द्वारा) अपने मूल फ़ाइल स्वरूप के रूप में पीएनजी का उपयोग करता है, जिससे अन्य प्रतिबिम्ब संपादकों और पूर्वावलोकन उपयोगिताओं को चपटी प्रतिबिम्ब देखने की अनुमति मिलती है। चूंकि, आतिशबाजी डिफ़ॉल्ट रूप से परतों, एनीमेशन, वेक्टर डेटा, पाठ और प्रभावों के लिए मेटाडेटा भी संग्रहीत करती है। ऐसी फाइलों को सीधे वितरित नहीं किया जाना चाहिए। पटाखे इसके अतिरिक्त प्रतिबिम्ब को वेब पेज आदि पर उपयोग के लिए अतिरिक्त मेटाडेटा के बिना अनुकूलित पीएनजी के रूप में निर्यात कर सकते हैं।{{Citation needed|date=May 2012}} | ||
==== पीएनजी के लिए वेब ब्राउज़र समर्थन ==== | ==== पीएनजी के लिए वेब ब्राउज़र समर्थन ==== | ||
{{Main|वेब ब्राउज़र की तुलना # छवि प्रारूप समर्थन|l1=वेब ब्राउज़र छवि प्रारूप समर्थन}} | {{Main|वेब ब्राउज़र की तुलना # छवि प्रारूप समर्थन|l1=वेब ब्राउज़र छवि प्रारूप समर्थन}} | ||
पीएनजी समर्थन पहली बार 1997 में [[Internet Explorer]] 4.0b1 (32-बिट केवल NT के लिए) और [[नेटस्केप]] 4.04 में दिखाई दिया।<ref>{{cite web| url = http://oregon.usgs.gov/png_images.html| title = डेटा प्रदर्शित करने के लिए PNG छवियों का उपयोग| publisher = Oregon Water Science Center| date = 16 February 2006}}</ref> | पीएनजी समर्थन पहली बार 1997 में [[Internet Explorer|इंटरनेट एक्सप्लोरर]] 4.0b1 (32-बिट केवल NT के लिए) और [[नेटस्केप]] 4.04 में दिखाई दिया।<ref>{{cite web| url = http://oregon.usgs.gov/png_images.html| title = डेटा प्रदर्शित करने के लिए PNG छवियों का उपयोग| publisher = Oregon Water Science Center| date = 16 February 2006}}</ref> | ||
[[फ्री सॉफ्टवेयर फाउंडेशन]] के आह्वान के अतिरिक्त<ref>{{cite web| url = https://www.gnu.org/philosophy/gif.html| title = जीएनयू वेब पेजों पर जीआईएफ फाइलें क्यों नहीं हैं I| work = [[GNU|GNU Operating System]]| date = 16 December 2008}}</ref> और वर्ल्ड वाइड वेब कंसोर्टियम (W3C),<ref>{{cite web| url = http://www.w3.org/Press/PNG-fact.html| title = पीएनजी फैक्ट शीट| publisher = [[World Wide Web Consortium]]| date = 7 October 1996}}</ref> उपकरण जैसे gif2png,<ref>{{cite web|url=http://www.catb.org/~esr/gif2png/|title=Resource page for gif2png 2.5.11|work=catb.org}}</ref> और अभियान जैसे बर्न ऑल जीआईएफ,<ref>{{cite web|url=http://burnallgifs.org/archives/|title=सभी जीआईएफ जलाएं|website=burnallgifs.org}}</ref> इंटरनेट एक्सप्लोरर में देर से और बगी समर्थन के कारण वेबसाइटों पर पीएनजी अपनाने की गति अधिक धीमी थी, विशेष रूप से पारदर्शिता के संबंध | [[फ्री सॉफ्टवेयर फाउंडेशन]] के आह्वान के अतिरिक्त<ref>{{cite web| url = https://www.gnu.org/philosophy/gif.html| title = जीएनयू वेब पेजों पर जीआईएफ फाइलें क्यों नहीं हैं I| work = [[GNU|GNU Operating System]]| date = 16 December 2008}}</ref> और वर्ल्ड वाइड वेब कंसोर्टियम (W3C),<ref>{{cite web| url = http://www.w3.org/Press/PNG-fact.html| title = पीएनजी फैक्ट शीट| publisher = [[World Wide Web Consortium]]| date = 7 October 1996}}</ref> उपकरण जैसे gif2png,<ref>{{cite web|url=http://www.catb.org/~esr/gif2png/|title=Resource page for gif2png 2.5.11|work=catb.org}}</ref> और अभियान जैसे बर्न ऑल जीआईएफ,<ref>{{cite web|url=http://burnallgifs.org/archives/|title=सभी जीआईएफ जलाएं|website=burnallgifs.org}}</ref> इंटरनेट एक्सप्लोरर में देर से और बगी समर्थन के कारण वेबसाइटों पर पीएनजी अपनाने की गति अधिक धीमी थी, विशेष रूप से पारदर्शिता के संबंध में उपयोगी हैं।<ref>{{cite magazine| url = https://www.pcmag.com/article2/0,2817,1645187,00.asp| title = इंटरनेट एक्सप्लोरर में पीएनजी पारदर्शिता| magazine = [[PC Magazine]]| date = 5 October 2004}}</ref> | ||
विशेष रूप से 9.0 (2011 में जारी) से नीचे इंटरनेट एक्सप्लोरर (विंडोज़) के संस्करणों में कई समस्याएं हैं जो इसे पीएनजी | पीएनजी संगत ब्राउज़र में सम्मिलित हैं: Apple Safari (वेब ब्राउज़र), [[Google Chrome|गूगल क्रोम]], मौजिला फायर फाक्स, औपेरा (वेब ब्राउज़र), कैम्बिनों (वेब ब्राउज़र), [[Internet Explorer 7|इंटरनेट एक्सप्लोरर 7]] (अभी भी कई मुद्दे),<ref name="png-msie">{{cite web| url = http://www.libpng.org/pub/png/pngapbr.html#msie-win-unix| title = PNG समर्थन वाले ब्राउज़र| date = 14 March 2009}}</ref> [[इंटरनेट एक्सप्लोरर 8]] (अभी भी कुछ मुद्दे), [[इंटरनेट एक्सप्लोरर 9]] और कई अन्य उपलब्ध हैं। इस प्रकार संपूर्ण तुलना के लिए, वेब ब्राउज़र की तुलना प्रतिबिम्ब प्रारूप समर्थन|वेब ब्राउज़र की तुलना (प्रतिबिम्ब प्रारूप समर्थन) देखें। | ||
विशेष रूप से 9.0 (2011 में जारी) से नीचे इंटरनेट एक्सप्लोरर (विंडोज़) के संस्करणों में कई समस्याएं हैं जो इसे पीएनजी प्रतियों को सही ढंग से प्रस्तुत करने से रोकती हैं।<ref name="png-msie"/> | |||
* 4.0 पीएनजी के बड़े टुकड़ों पर क्रैश हो जाता है।<ref>{{cite web| url = http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_13501&sliceId=2| title = जब मैं इसे देखने के लिए आतिशबाजी पीएनजी फ़ाइल पर क्लिक करता हूं तो विंडोज एक्सप्लोरर क्रैश हो जाता है| publisher = [[Adobe Systems]]| date = 5 June 2007}}</ref> | * 4.0 पीएनजी के बड़े टुकड़ों पर क्रैश हो जाता है।<ref>{{cite web| url = http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_13501&sliceId=2| title = जब मैं इसे देखने के लिए आतिशबाजी पीएनजी फ़ाइल पर क्लिक करता हूं तो विंडोज एक्सप्लोरर क्रैश हो जाता है| publisher = [[Adobe Systems]]| date = 5 June 2007}}</ref> | ||
* 4.0 does not include the functionality to view .png फ़ाइलें,<ref>{{cite web| url = http://support.microsoft.com/kb/174946| title = Unable to view .png images with Internet Explorer 4.0| work = Microsoft Knowledge Base}}</ref> किन्तु | * 4.0 does not include the functionality to view .png फ़ाइलें,<ref>{{cite web| url = http://support.microsoft.com/kb/174946| title = Unable to view .png images with Internet Explorer 4.0| work = Microsoft Knowledge Base}}</ref> किन्तु रजिस्ट्री फिक्स है।<ref name="png-msie" />* 5.0 और 5.01 ने वस्तु समर्थन को तोड़ दिया है।<ref>{{cite web| url = http://support.microsoft.com/kb/257081| title = पीएनजी जो एक ऑब्जेक्ट टैग के अंदर एक नकारात्मक छवि के रूप में प्रिंट होते हैं| work = Microsoft Knowledge Base}}</ref> | ||
* 5.01 विंडोज 98 के तहत काले (या गहरे भूरे) पृष्ठभूमि वाले पैलेट | * 5.01 विंडोज 98 के तहत काले (या गहरे भूरे) पृष्ठभूमि वाले पैलेट प्रतियों को प्रिंट करता है, कभी-कभी मौलिक रूप से परिवर्तित रंगों के साथ।<ref>{{cite web| url = http://support.microsoft.com/kb/255239| title = PNG Images Are Printed Improperly in Internet Explorer 5.01| work = Microsoft Knowledge Base}}</ref> | ||
* 6.0 आकार में 4097 या 4098 बाइट्स की पीएनजी | * 6.0 आकार में 4097 या 4098 बाइट्स की पीएनजी प्रतियों को प्रदर्शित करने में विफल रहता है।<ref>{{cite web| url = http://support.microsoft.com/kb/822071| title = You cannot view some PNG images in Internet Explorer 6| work = Microsoft Knowledge Base}}</ref> | ||
* 6.0 | * 6.0 या अधिक शून्य-लंबाई वाले IDAT चंक वाली पीएनजी फ़ाइल नहीं खोल सकता। यह समस्या सबसे पहले सुरक्षा अद्यतन 947864 (MS08-024) में ठीक की गई थी। अधिक जानकारी के लिए, इस आलेख को माइक्रोसाॅफ्ट ज्ञानकोष में देखें: [http://support.microsoft.com/kb/947864/ 947864] MS08-024: Internet Explorer के लिए संचयी सुरक्षा अद्यतन।<ref>{{cite web| url = http://support.microsoft.com/kb/897242| title = You cannot use Internet Explorer 6 to open a PNG file that contains one or more zero-length IDAT chunks| work = Microsoft Knowledge Base}}</ref> | ||
* 6.0 कभी-कभी पूरी तरह से पीएनजी प्रदर्शित करने की क्षमता खो देता है, किन्तु कई सुधार हैं।<ref name="libpng.org">{{cite web| url = http://www.libpng.org/pub/png/pngfaq.html#msie| title = PNG Frequently Asked Questions}}</ref> | * 6.0 कभी-कभी पूरी तरह से पीएनजी प्रदर्शित करने की क्षमता खो देता है, किन्तु कई सुधार हैं।<ref name="libpng.org">{{cite web| url = http://www.libpng.org/pub/png/pngfaq.html#msie| title = PNG Frequently Asked Questions}}</ref> | ||
* 6.0 और नीचे के अल्फा-चैनल पारदर्शिता समर्थन टूट गया है (इसके अतिरिक्त डिफ़ॉल्ट पृष्ठभूमि रंग प्रदर्शित करेगा)।<ref>{{cite web| url = http://support.microsoft.com/kb/265221| title = PhD: Portable Network Graphics Lose Transparency in Web Browser| work = Microsoft Knowledge Base}}</ref><ref>{{cite web| url = http://support.microsoft.com/kb/294714| title = PNG फ़ाइलें Internet Explorer में पारदर्शिता नहीं दिखाती हैं| work = Microsoft Knowledge Base}}</ref><ref>{{cite web| url = http://www.alistapart.com/articles/pngopacity/| title = Cross-Browser Variable Opacity with PNG: A Real Solution| first = Michael| last = Lovitt| work = [[A List Apart]]| date = 21 December 2002| access-date = 21 July 2009| archive-url = https://web.archive.org/web/20110818032515/http://www.alistapart.com/articles/pngopacity/| archive-date = 18 August 2011| url-status = dead }}</ref> * 7.0 और नीचे 8-बिट अल्फा पारदर्शिता और तत्व अपारदर्शिता (कैस्केडिंग स्टाइल शीट्स - फिल्टर: अल्फा (अस्पष्टता = xx)) को आंशिक रूप से पारदर्शी वर्गों को काले रंग से भरे बिना संयोजित नहीं कर सकते।<ref>{{cite web| url = http://channel9.msdn.com/forums/TechOff/257324-IE7-alpha-transparent-PNG--opacity/| title = IE7 alpha transparent PNG + opacity| work = [[Channel 9 (discussion forum)|Channel 9]]| access-date = 23 January 2009| archive-url = https://web.archive.org/web/20110827114121/http://channel9.msdn.com/forums/TechOff/257324-IE7-alpha-transparent-PNG--opacity| archive-date = 27 August 2011| url-status = dead }}</ref> | * 6.0 और नीचे के अल्फा-चैनल पारदर्शिता समर्थन टूट गया है (इसके अतिरिक्त डिफ़ॉल्ट पृष्ठभूमि रंग प्रदर्शित करेगा)।<ref>{{cite web| url = http://support.microsoft.com/kb/265221| title = PhD: Portable Network Graphics Lose Transparency in Web Browser| work = Microsoft Knowledge Base}}</ref><ref>{{cite web| url = http://support.microsoft.com/kb/294714| title = PNG फ़ाइलें Internet Explorer में पारदर्शिता नहीं दिखाती हैं| work = Microsoft Knowledge Base}}</ref><ref>{{cite web| url = http://www.alistapart.com/articles/pngopacity/| title = Cross-Browser Variable Opacity with PNG: A Real Solution| first = Michael| last = Lovitt| work = [[A List Apart]]| date = 21 December 2002| access-date = 21 July 2009| archive-url = https://web.archive.org/web/20110818032515/http://www.alistapart.com/articles/pngopacity/| archive-date = 18 August 2011| url-status = dead }}</ref> * 7.0 और नीचे 8-बिट अल्फा पारदर्शिता और तत्व अपारदर्शिता (कैस्केडिंग स्टाइल शीट्स - फिल्टर: अल्फा (अस्पष्टता = xx)) को आंशिक रूप से पारदर्शी वर्गों को काले रंग से भरे बिना संयोजित नहीं कर सकते।<ref>{{cite web| url = http://channel9.msdn.com/forums/TechOff/257324-IE7-alpha-transparent-PNG--opacity/| title = IE7 alpha transparent PNG + opacity| work = [[Channel 9 (discussion forum)|Channel 9]]| access-date = 23 January 2009| archive-url = https://web.archive.org/web/20110827114121/http://channel9.msdn.com/forums/TechOff/257324-IE7-alpha-transparent-PNG--opacity| archive-date = 27 August 2011| url-status = dead }}</ref> | ||
| Line 505: | Line 503: | ||
=== पीएनजी आइकनों के लिए ऑपरेटिंग सिस्टम का समर्थन === | === पीएनजी आइकनों के लिए ऑपरेटिंग सिस्टम का समर्थन === | ||
कम से कम 1999 से [[सूक्ति]] जैसे डेस्कटॉप वातावरण में पीएनजी आइकनों को लिनक्स के अधिकांश वितरणों में समर्थित किया गया है।<ref>{{cite web| url = http://developer.gnome.org/doc/whitepapers/libroadmap/| title = गनोम 1.0 लाइब्रेरी रोडमैप| first = Michael| last = Fulbright| year = 1999| access-date = 19 December 2007| archive-url = https://web.archive.org/web/20100130042852/http://developer.gnome.org/doc/whitepapers/libroadmap/| archive-date = 30 January 2010| url-status = dead }}</ref> 2006 में, विंडोज विस्ता में पीएनजी आइकन के लिए [[Microsoft Windows|माइक्रोसाॅफ्ट विंडोज]] समर्थन पेश किया गया था।<ref>{{cite web|url=http://www.oone.googlepages.com/windows_vista_icons.htm|title=Windows Vista – Icons|access-date=2007-11-12|work=OOne|year=2007|archive-date=11 November 2007|archive-url=https://web.archive.org/web/20071111153449/http://www.oone.googlepages.com/windows_vista_icons.htm|url-status=dead}}</ref> पीएनजी आइकन [[AmigaOS 4]], [[AROS]], [[macOS]], [[iOS]] और [[MorphOS]] में भी समर्थित हैं। इसके अतिरिक्त, एंड्रॉइड (ऑपरेटिंग सिस्टम) पीएनजी का व्यापक उपयोग करता है। | कम से कम 1999 से [[सूक्ति]] जैसे डेस्कटॉप वातावरण में पीएनजी आइकनों को लिनक्स के अधिकांश वितरणों में समर्थित किया गया है।<ref>{{cite web| url = http://developer.gnome.org/doc/whitepapers/libroadmap/| title = गनोम 1.0 लाइब्रेरी रोडमैप| first = Michael| last = Fulbright| year = 1999| access-date = 19 December 2007| archive-url = https://web.archive.org/web/20100130042852/http://developer.gnome.org/doc/whitepapers/libroadmap/| archive-date = 30 January 2010| url-status = dead }}</ref> 2006 में, विंडोज विस्ता में पीएनजी आइकन के लिए [[Microsoft Windows|माइक्रोसाॅफ्ट विंडोज]] समर्थन पेश किया गया था।<ref>{{cite web|url=http://www.oone.googlepages.com/windows_vista_icons.htm|title=Windows Vista – Icons|access-date=2007-11-12|work=OOne|year=2007|archive-date=11 November 2007|archive-url=https://web.archive.org/web/20071111153449/http://www.oone.googlepages.com/windows_vista_icons.htm|url-status=dead}}</ref> पीएनजी आइकन [[AmigaOS 4|अमीगाOS 4]], [[AROS]], [[macOS]], [[iOS]] और [[MorphOS]] में भी समर्थित हैं। इसके अतिरिक्त, एंड्रॉइड (ऑपरेटिंग सिस्टम) पीएनजी का व्यापक उपयोग करता है। | ||
== फ़ाइल का आकार और अनुकूलन सॉफ्टवेयर == | == फ़ाइल का आकार और अनुकूलन सॉफ्टवेयर == | ||
| Line 511: | Line 509: | ||
==== जीआईएफ की तुलना में ==== | ==== जीआईएफ की तुलना में ==== | ||
जीआईएफ फाइलों की तुलना में, | जीआईएफ फाइलों की तुलना में, प्रभावी कंप्रेसर द्वारा संपीड़ित समान जानकारी (256 रंग, कोई सहायक भाग/मेटाडेटा) वाली पीएनजी फ़ाइल सामान्य रूप से जीआईएफ प्रतिबिम्ब से छोटी होती है। फ़ाइल और कंप्रेसर के आधार पर, पीएनजी कुछ छोटे (10%) से लेकर अधिक छोटे (50%) से कुछ बड़े (5%) तक हो सकता है, किन्तु शायद ही कभी अधिक बड़ा होता है<ref name="pngcf" />बड़ी प्रतियों के लिए। इसे GIF के [[LZW]] की तुलना में पीएनजी के डेफ्लेट के प्रदर्शन के लिए जिम्मेदार ठहराया गया है, और क्योंकि पीएनजी के प्रेडिक्टिव फिल्टर की अतिरिक्त प्रीकंप्रेशन परत फाइलों को और कंप्रेस करने के लिए 2-आयामी प्रतिबिम्ब संरचना का ध्यान रखती है; फ़िल्टर किए गए डेटा के रूप में पिक्सेल के बीच अंतर को एन्कोड करता है, वे सभी संभावित मानों में फैले होने के अतिरिक्त 0 के करीब क्लस्टर करते हैं, और इस प्रकार डेफ्लेट द्वारा अधिक सरलता से संकुचित हो जाते हैं। चूंकि, एडोब फोटोशाॅप, [[CorelDRAW|कोरल ड्रा]] और माइक्रोसाॅफ्ट पेंट के कुछ संस्करण खराब पीएनजी संपीड़न प्रदान करते हैं, जिससे यह धारणा बनती है कि GIF अधिक कुशल है।<ref name="pngcf" /> | ||
=== फ़ाइल आकार कारक === | === फ़ाइल आकार कारक === | ||
पीएनजी फाइलें कई कारकों के कारण आकार में भिन्न होती हैं: | पीएनजी फाइलें कई कारकों के कारण आकार में भिन्न होती हैं: | ||
| Line 518: | Line 516: | ||
सहायक भाग: पीएनजी मेटाडेटा का समर्थन करता है—यह संपादन के लिए उपयोगी हो सकता है, किन्तु वेबसाइटों पर देखने के लिए अनावश्यक है। | सहायक भाग: पीएनजी मेटाडेटा का समर्थन करता है—यह संपादन के लिए उपयोगी हो सकता है, किन्तु वेबसाइटों पर देखने के लिए अनावश्यक है। | ||
;इंटरलेसिंग: चूंकि एडम7 एल्गोरिदम के प्रत्येक पास को अलग से फ़िल्टर किया जाता है, इससे फ़ाइल का आकार बढ़ सकता है।<ref name="pngcf" />फ़िल्टर: | ;इंटरलेसिंग: चूंकि एडम7 एल्गोरिदम के प्रत्येक पास को अलग से फ़िल्टर किया जाता है, इससे फ़ाइल का आकार बढ़ सकता है।<ref name="pngcf" />फ़िल्टर: प्रीकंप्रेशन चरण के रूप में, प्रत्येक पंक्ति को भविष्य कहनेवाला फ़िल्टर द्वारा फ़िल्टर किया जाता है, जो लाइन से लाइन में बदल सकता है। चूंकि संपूर्ण प्रतिबिम्ब के फ़िल्टर किए गए डेटा पर अंतिम डेफ्लेट चरण संचालित होता है, कोई भी इस पंक्ति-दर-पंक्ति को अनुकूलित नहीं कर सकता है; इस प्रकार प्रत्येक पंक्ति के लिए फ़िल्टर का विकल्प संभावित रूप से बहुत परिवर्तनशील है, चूंकि अनुमान सम्मिलित हैं।<ref group="note">The filtering is used to increase the similarity to the data, hence increasing the compression ratio. However, there is theoretically no formula for similarity, nor absolute relationship between the similarity and compressor, thus unless the compression is done, one can't tell one filter set is better than another.</ref> | ||
संपीड़न: अतिरिक्त संगणना के साथ, डिफलेट कंप्रेशर्स छोटी फाइलें बना सकते हैं। | संपीड़न: अतिरिक्त संगणना के साथ, डिफलेट कंप्रेशर्स छोटी फाइलें बना सकते हैं। | ||
इस प्रकार उच्च रंग की गहराई, अधिकतम मेटाडेटा (रंग स्थान की जानकारी सहित, सूचना के साथ जो प्रदर्शन को प्रभावित नहीं करता है), इंटरलेसिंग और संपीड़न की गति के बीच | इस प्रकार उच्च रंग की गहराई, अधिकतम मेटाडेटा (रंग स्थान की जानकारी सहित, सूचना के साथ जो प्रदर्शन को प्रभावित नहीं करता है), इंटरलेसिंग और संपीड़न की गति के बीच फाइलसाइज ट्रेड-ऑफ है, जो कम रंग की गहराई के साथ बड़ी फाइलें उत्पन्न करता है, इस प्रकार कम या कोई सहायक भाग नहीं, कोई इंटरलेसिंग नहीं, और ट्यून किया गया किन्तु कम्प्यूटेशनल रूप से गहन फ़िल्टरिंग और संपीड़न करती हैं। इस प्रकार अलग-अलग उद्देश्यों के लिए, अलग-अलग ट्रेड-ऑफ़ चुने जाते हैं: इस प्रकार अधिकतम फ़ाइल संग्रह और संपादन के लिए सर्वोत्तम हो सकती है, जबकि स्ट्रिप्ड डाउन फ़ाइल वेबसाइट पर उपयोग के लिए सर्वोत्तम हो सकती है, और इसी प्रकार तेज़ किन्तु खराब संपीड़न को बार-बार संपादन और सहेजते समय प्राथमिकता दी जाती है। इस प्रकार फ़ाइल, जबकि फ़ाइल के स्थिर होने पर धीमी किन्तु उच्च संपीड़न को प्राथमिकता दी जाती है: संग्रह या पोस्ट करते समय। | ||
इंटरलेसिंग | इंटरलेसिंग ट्रेड-ऑफ़ है: यह नाटकीय रूप से बड़ी फ़ाइलों के शुरुआती रेंडरिंग को गति देता है (विलंबता में सुधार करता है), किन्तु थोड़े लाभ के लिए फ़ाइल का आकार बढ़ा सकता है (थ्रूपुट घटा सकता है), विशेष रूप से छोटी फ़ाइलों के लिए।<ref name="pngcf" /> | ||
==== हानिपूर्ण पीएनजी संपीड़न ==== | ==== हानिपूर्ण पीएनजी संपीड़न ==== | ||
चूंकि पीएनजी | चूंकि पीएनजी दोषरहित प्रारूप है, पीएनजी कंप्रेशन को उच्चतम बनाने के लिए पीएनजी एनकोडर हानिपूर्ण तरीके से प्रतिबिम्ब डेटा को प्रीप्रोसेस कर सकते हैं। उदाहरण के लिए, ट्रूकलर पीएनजी को 256 रंगों में परिमाणित करने से फ़ाइल आकार में संभावित कमी के लिए अनुक्रमित रंग प्रकार का उपयोग किया जा सकता है।<ref>{{cite web|url=http://pngmini.com/lossypng.html|title=PNG एक हानिपूर्ण प्रारूप हो सकता है|publisher=Pngmini.com|access-date=2014-02-01}}</ref> | ||
=== | === प्रतिबिम्ब संपादन सॉफ्टवेयर === | ||
पीएनजी फाइलों को सहेजते समय कुछ प्रोग्राम दूसरों की तुलना में अधिक कुशल होते हैं, यह प्रोग्राम द्वारा उपयोग किए जाने वाले पीएनजी संपीड़न के कार्यान्वयन से संबंधित है। | पीएनजी फाइलों को सहेजते समय कुछ प्रोग्राम दूसरों की तुलना में अधिक कुशल होते हैं, यह प्रोग्राम द्वारा उपयोग किए जाने वाले पीएनजी संपीड़न के कार्यान्वयन से संबंधित है। | ||
कई ग्राफ़िक्स प्रोग्राम (जैसे कि Apple का प्रीव्यू (सॉफ़्टवेयर) सॉफ़्टवेयर) पीएनजी को बड़ी मात्रा में मेटाडेटा और रंग-सुधार डेटा के साथ सहेजते हैं जो सामान्यतः वर्ल्ड वाइड वेब देखने के लिए अनावश्यक होते हैं। एडोब फायर वर्क्स की अडॉप्टिमाइज्ड पीएनजी फाइलें भी इसके लिए कुख्यात हैं क्योंकि उनमें समर्थित संपादकों में | कई ग्राफ़िक्स प्रोग्राम (जैसे कि Apple का प्रीव्यू (सॉफ़्टवेयर) सॉफ़्टवेयर) पीएनजी को बड़ी मात्रा में मेटाडेटा और रंग-सुधार डेटा के साथ सहेजते हैं जो सामान्यतः वर्ल्ड वाइड वेब देखने के लिए अनावश्यक होते हैं। एडोब फायर वर्क्स की अडॉप्टिमाइज्ड पीएनजी फाइलें भी इसके लिए कुख्यात हैं क्योंकि उनमें समर्थित संपादकों में प्रतिबिम्ब को संपादन योग्य बनाने के विकल्प होते हैं। इस प्रकार साथ ही कोरल ड्रा (कम से कम संस्करण 11) कभी-कभी पीएनजी उत्पन्न करता है जिसे इंटरनेट एक्सप्लोरर (संस्करण 6-8) द्वारा खोला नहीं जा सकता है। | ||
वेब के लिए सहेजें सुविधा (जो स्पष्ट पीएनजी/8 उपयोग की भी अनुमति देता है) का उपयोग करते समय पीएनजी फ़ाइलों पर एडोब फोटोशाॅप का प्रदर्शन CS सूट में उच्चतम हुआ है। | वेब के लिए सहेजें सुविधा (जो स्पष्ट पीएनजी/8 उपयोग की भी अनुमति देता है) का उपयोग करते समय पीएनजी फ़ाइलों पर एडोब फोटोशाॅप का प्रदर्शन CS सूट में उच्चतम हुआ है। | ||
एडोब फायरवर्क्स डिफ़ॉल्ट रूप से कई प्रोग्रामों की तुलना में बड़ी पीएनजी फ़ाइलें सहेजता है। यह इसके सेव फॉर्मेट के यांत्रिकी से उपजा है: फायरवर्क्स के सेव फंक्शन द्वारा निर्मित | एडोब फायरवर्क्स डिफ़ॉल्ट रूप से कई प्रोग्रामों की तुलना में बड़ी पीएनजी फ़ाइलें सहेजता है। यह इसके सेव फॉर्मेट के यांत्रिकी से उपजा है: फायरवर्क्स के सेव फंक्शन द्वारा निर्मित प्रतियों में बड़े, निजी भाग सम्मिलित हैं, जिसमें पूरी परत और वेक्टर जानकारी सम्मिलित है। यह आगे दोषरहित संपादन की अनुमति देता है। जब निर्यात विकल्प के साथ सहेजा जाता है, आतिशबाजी के पीएनजी अन्य प्रतिबिम्ब संपादकों द्वारा उत्पादित के साथ प्रतिस्पर्धी होते हैं, किन्तु अब चपटा बिटमैप्स के अतिरिक्त कुछ भी संपादन योग्य नहीं हैं। पटाखे आकार-अनुकूलित वेक्टर-संपादन योग्य PNGs को सहेजने में असमर्थ हैं। | ||
खराब पीएनजी कम्प्रेसर के अन्य उल्लेखनीय उदाहरणों में सम्मिलित हैं: | खराब पीएनजी कम्प्रेसर के अन्य उल्लेखनीय उदाहरणों में सम्मिलित हैं: | ||
* विंडोज एक्सपी के लिए माइक्रोसॉफ्ट का पेंट | * विंडोज एक्सपी के लिए माइक्रोसॉफ्ट का पेंट | ||
* माइक्रोसॉफ्ट पिक्चर इट! फोटो प्रीमियम 9 | * माइक्रोसॉफ्ट पिक्चर इट! फोटो प्रीमियम 9 | ||
खराब संपीड़न पीएनजी फ़ाइल के आकार को बढ़ाता है किन्तु अन्य कार्यक्रमों के साथ फ़ाइल की | खराब संपीड़न पीएनजी फ़ाइल के आकार को बढ़ाता है किन्तु अन्य कार्यक्रमों के साथ फ़ाइल की प्रतिबिम्ब गुणवत्ता या संगतता को प्रभावित नहीं करता है। | ||
जब 24-बिट रंगीन | जब 24-बिट रंगीन प्रतिबिम्ब की रंग गहराई 8-बिट पैलेट (जीआईएफ में) तक कम हो जाती है, तो परिणामी प्रतिबिम्ब डेटा सामान्यतः बहुत छोटा होता है। इस प्रकार ट्रूकलर पीएनजी सामान्यतः रंग-कम जीआईएफ से बड़ा होता है, चूंकि पीएनजी रंग-कम संस्करण को तुलनीय आकार की पैलेटाइज्ड फ़ाइल के रूप में संग्रहीत कर सकता है। इसके विपरीत, कुछ उपकरण, पीएनजी के रूप में प्रतियों को सहेजते समय, स्वचालित रूप से उन्हें ट्रूकलर के रूप में सहेजते हैं, भले ही मूल डेटा केवल 8-बिट रंग का उपयोग करता हो, इस प्रकार फ़ाइल को अनावश्यक रूप से फुलाता है।<ref name="pngcf" />दोनों कारक गलत धारणा पैदा कर सकते हैं कि पीएनजी फाइलें समकक्ष जीआईएफ फाइलों से बड़ी हैं। | ||
=== अनुकूलन उपकरण === | === अनुकूलन उपकरण === | ||
| Line 545: | Line 543: | ||
* (वैकल्पिक रूप से) सहायक भाग निकालना, | * (वैकल्पिक रूप से) सहायक भाग निकालना, | ||
* रंग की गहराई कम करना, या तो: | * रंग की गहराई कम करना, या तो: | ||
** अगर | ** अगर प्रतिबिम्ब में 256 या उससे कम रंग हैं, तो पैलेट (आरजीबी के अतिरिक्त) का उपयोग करें, | ||
** एक छोटे पैलेट का उपयोग करें, यदि | ** एक छोटे पैलेट का उपयोग करें, यदि प्रतिबिम्ब में 2, 4, या 16 रंग हैं, या | ||
** (वैकल्पिक रूप से) मूल | ** (वैकल्पिक रूप से) मूल प्रतिबिम्ब में कुछ डेटा हानिपूर्ण रूप से त्यागें, | ||
* लाइन-बाय-लाइन फ़िल्टर विकल्प का अनुकूलन, और | * लाइन-बाय-लाइन फ़िल्टर विकल्प का अनुकूलन, और | ||
* डिफलेट संपीड़न का अनुकूलन। | * डिफलेट संपीड़न का अनुकूलन। | ||
| Line 553: | Line 551: | ||
==== उपकरण सूची ==== | ==== उपकरण सूची ==== | ||
* [[pngcrush]] लोकप्रिय पीएनजी ऑप्टिमाइज़र में सबसे पुराना है। यह फ़िल्टर चयन और संपीड़न तर्कों पर कई परीक्षणों की अनुमति देता है, और अंत में सबसे छोटा चुनता है। लगभग हर png ऑप्टिमाइज़र में इस वर्किंग मॉडल का उपयोग किया जाता है। | * [[pngcrush]] लोकप्रिय पीएनजी ऑप्टिमाइज़र में सबसे पुराना है। यह फ़िल्टर चयन और संपीड़न तर्कों पर कई परीक्षणों की अनुमति देता है, और अंत में सबसे छोटा चुनता है। लगभग हर png ऑप्टिमाइज़र में इस वर्किंग मॉडल का उपयोग किया जाता है। | ||
* advpng और इसी | * advpng और इसी प्रकार की advdef उपयोगिता AdvanceCOMP पैकेज में पीएनजी IDAT को पुनः संपीड़ित करती है। चयनित संपीड़न स्तर, गति और फ़ाइल आकार के बीच व्यापार के आधार पर विभिन्न डिफलेट कार्यान्वयन लागू होते हैं: स्तर 1 पर zlib, स्तर 2 पर libdeflate, स्तर 3 पर [[7-ज़िप]] का [[LZMA]] डेफ्लेट, और स्तर 4 पर zopfli इत्यादि। | ||
* [[pngout]] को लेखक के अपने डिफ्लेटर (लेखक की ज़िप उपयोगिता, kzip के समान) के साथ बनाया गया था, जबकि रंग में कमी/फ़िल्टरिंग की सभी सुविधाओं को ध्यान में रखा गया था। चूंकि, pngout | * [[pngout]] को लेखक के अपने डिफ्लेटर (लेखक की ज़िप उपयोगिता, kzip के समान) के साथ बनाया गया था, जबकि रंग में कमी/फ़िल्टरिंग की सभी सुविधाओं को ध्यान में रखा गया था। चूंकि, pngout बार में फ़िल्टर पर कई परीक्षणों का उपयोग करने की अनुमति नहीं देता है। इसके वाणिज्यिक जीयूआई संस्करण, पीएनजीआउटविन का उपयोग करने का सुझाव दिया गया है, या परीक्षणों को स्वचालित करने के लिए #रैपर टूल के साथ प्रयोग किया जाता है या फ़िल्टर लाइन को लाइन से रखते हुए अपने स्वयं के डिफ्लेटर का उपयोग करके पुनःसंपीड़ित किया जाता है। | ||
* Zopflipng भी | * Zopflipng भी स्व-अपस्फीतिकारक, Zopfli के साथ बनाया गया था। इसमें सभी अनुकूलन विशेषताएं हैं pngcrush में (स्वचालित परीक्षणों सहित) बहुत अच्छा, किन्तु धीमा डिफ्लेटर प्रदान करते हुए। | ||
उनकी विशेषताओं की | उनकी विशेषताओं की सरल तुलना नीचे सूचीबद्ध है। | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Line 572: | Line 570: | ||
| [[zopfli]]png|| हाँ|| हाँ|| 0–4 or adaptive with 2 different algorithms, or with a brute way|| हाँ|| हाँ|| zopfli | | [[zopfli]]png|| हाँ|| हाँ|| 0–4 or adaptive with 2 different algorithms, or with a brute way|| हाँ|| हाँ|| zopfli | ||
|} | |} | ||
zopflipng उपलब्ध होने से पहले, png ऑप्टिमाइज़ेशन करने का | zopflipng उपलब्ध होने से पहले, png ऑप्टिमाइज़ेशन करने का अच्छा तरीका इष्टतम संपीड़न के लिए अनुक्रम में 2 टूल के संयोजन का उपयोग करना है: जो फ़िल्टर को अनुकूलित करता है (और सहायक भाग हटाता है), और जो डेफ्लेट को ऑप्टिमाइज़ करता है। चूंकि इस प्रकार pngout दोनों प्रदान करता है, केवल ही प्रकार के फ़िल्टर को बार में निर्दिष्ट किया जा सकता है, इसलिए इसका उपयोग #रैपर टूल के साथ या pngcrush के संयोजन में किया जा सकता है,<ref name="pngoutreusefilter" group="note"/>advdef के समान री-डिफ्लेटर के रूप में कार्य करता हैं। | ||
==== सहायक भाग हटाना ==== | ==== सहायक भाग हटाना ==== | ||
| Line 579: | Line 577: | ||
<code>pngcrush -rem gAMA -rem cHRM -rem iCCP -rem एस आरबीजी ''InputFile.png'' ''OutputFile.png''</code> | <code>pngcrush -rem gAMA -rem cHRM -rem iCCP -rem एस आरबीजी ''InputFile.png'' ''OutputFile.png''</code> | ||
==== फ़िल्टर अनुकूलन ==== | ==== फ़िल्टर अनुकूलन ==== | ||
pngcrush, pngout, और zopflipng सभी ऑफ़र विकल्प वैश्विक स्तर पर 0–4 फ़िल्टर प्रकारों में से किसी | pngcrush, pngout, और zopflipng सभी ऑफ़र विकल्प वैश्विक स्तर पर 0–4 फ़िल्टर प्रकारों में से किसी को लागू करते हैं (सभी पंक्तियों के लिए समान फ़िल्टर प्रकार का उपयोग करके) या छद्म फ़िल्टर (क्रमांकित 5) के साथ, जो प्रत्येक पंक्ति के लिए फ़िल्टर प्रकारों में से को चुनता है 0 -4 अनुकूली एल्गोरिथ्म का उपयोग करना। Zopflipng 3 अलग-अलग अनुकूली विधि प्रदान करता है, जिसमें इस प्रकार ब्रूट-फोर्स सर्च सम्मिलित है जो फ़िल्टरिंग को अनुकूलित करने का प्रयास करता है। | ||
pngout और zopflipng संरक्षित/पुन: उपयोग करने का विकल्प प्रदान करते हैं इनपुट इमेज में सम्मिलित लाइन-बाय-लाइन फ़िल्टर सेट उपयोग किये जाते हैं। | pngout और zopflipng संरक्षित/पुन: उपयोग करने का विकल्प प्रदान करते हैं इनपुट इमेज में सम्मिलित लाइन-बाय-लाइन फ़िल्टर सेट उपयोग किये जाते हैं। | ||
pngcrush और zopflipng | pngcrush और zopflipng ही बार में विभिन्न फ़िल्टर रणनीतियों को आज़माने और सर्वश्रेष्ठ चुनने के विकल्प प्रदान करते हैं। pngout का फ्रीवेयर कमांड लाइन संस्करण इसकी पेशकश नहीं करता है, किन्तु व्यावसायिक संस्करण, pngoutwin, करता है। | ||
==== डिफ्लेट ऑप्टिमाइज़ेशन ==== | ==== डिफ्लेट ऑप्टिमाइज़ेशन ==== | ||
Zopfli और 7zip#Software development किट डेफ्लेट कार्यान्वयन प्रदान करते हैं जो प्रदर्शन की कीमत पर zlib संदर्भ कार्यान्वयन की तुलना में उच्च [[डेटा संपीड़न अनुपात]] उत्पन्न कर सकते हैं। एडवांसकॉम्प्स <code>advpng</code> और <code>advdef</code> पीएनजी फ़ाइलों को फिर से कंप्रेस करने के लिए इनमें से किसी भी लाइब्रेरी का उपयोग कर सकते हैं। इसके अतिरिक्त, पीएनजीओयूटी में अपना स्वामित्व सॉफ्टवेयर डिफलेट कार्यान्वयन सम्मिलित है। | Zopfli और 7zip#Software development किट डेफ्लेट कार्यान्वयन प्रदान करते हैं जो प्रदर्शन की कीमत पर zlib संदर्भ कार्यान्वयन की तुलना में उच्च [[डेटा संपीड़न अनुपात]] उत्पन्न कर सकते हैं। एडवांसकॉम्प्स <code>advpng</code> और <code>advdef</code> पीएनजी फ़ाइलों को फिर से कंप्रेस करने के लिए इनमें से किसी भी लाइब्रेरी का उपयोग कर सकते हैं। इसके अतिरिक्त, पीएनजीओयूटी में अपना स्वामित्व सॉफ्टवेयर डिफलेट कार्यान्वयन सम्मिलित है। | ||
<code>advpng</code> फ़िल्टर लागू करने का कोई विकल्प नहीं है और हमेशा वैश्विक रूप से फ़िल्टर 0 का उपयोग करता है ( | <code>advpng</code> फ़िल्टर लागू करने का कोई विकल्प नहीं है और हमेशा वैश्विक रूप से फ़िल्टर 0 का उपयोग करता है (प्रतिबिम्ब डेटा को अनफ़िल्टर्ड छोड़कर); इसलिए इसका उपयोग वहां नहीं किया जाना चाहिए जहां प्रतिबिम्ब को फ़िल्टर करने से अधिक लाभ होता है। इसके विपरीत, <code>advdef</code> ही पैकेज से पीएनजी संरचना से संबंधित नहीं है और केवल पुन: अपस्फीति के रूप में कार्य करता है, किसी भी मौजूदा फ़िल्टर सेटिंग्स को बनाए रखता है। | ||
=== चिह्न अनुकूलन === | === चिह्न अनुकूलन === | ||
चूंकि विंडोज विस्टा और बाद के संस्करणों के लिए लक्षित [[आइकन (कंप्यूटिंग)]] में पीएनजी सबइमेज हो सकते हैं, इसलिए अनुकूलन उन पर भी लागू किया जा सकता है। कम से कम | चूंकि विंडोज विस्टा और बाद के संस्करणों के लिए लक्षित [[आइकन (कंप्यूटिंग)]] में पीएनजी सबइमेज हो सकते हैं, इसलिए अनुकूलन उन पर भी लागू किया जा सकता है। कम से कम आइकन (कंप्यूटिंग), Pixelformer, ICO (फ़ाइल स्वरूप) फ़ाइलों को सहेजते हुए विशेष अनुकूलन पास करने में सक्षम है, जिससे उनका आकार कम हो जाता है। इस प्रकार [[FileOptimizer|फाइल औप्टिमाइजर]] (ऊपर उल्लिखित) ICO फ़ाइलों को भी संभाल सकता है। | ||
Apple Icon | Apple Icon प्रतिबिम्ब प्रारूप में पीएनजी सबइमेज भी हो सकते हैं, फिर भी ऐसा कोई उपकरण उपलब्ध नहीं है। | ||
== यह भी देखें == | == यह भी देखें == | ||
* कंप्यूटर ग्राफिक्स, सहित: | * कंप्यूटर ग्राफिक्स, सहित: | ||
* [[छवि संपादन]] | * [[छवि संपादन|प्रतिबिम्ब संपादन]] | ||
* | * प्रतिबिम्ब फ़ाइल स्वरूप | ||
* संबंधित ग्राफिक्स फ़ाइल स्वरूप | * संबंधित ग्राफिक्स फ़ाइल स्वरूप | ||
** एपीएनजी एनिमेटेड पीएनजी | ** एपीएनजी एनिमेटेड पीएनजी | ||
** जेपीईजी नेटवर्क ग्राफिक्स (जेएनजी) | ** जेपीईजी नेटवर्क ग्राफिक्स (जेएनजी) | ||
** एकाधिक- | ** एकाधिक-प्रतिबिम्ब नेटवर्क ग्राफ़िक्स (एमएनजी) | ||
* समान फ़ाइल स्वरूप | * समान फ़ाइल स्वरूप | ||
** पोर्टेबल आइकन के लिए एक्स पिक्समैप | ** पोर्टेबल आइकन के लिए एक्स पिक्समैप | ||
| Line 630: | Line 628: | ||
* [http://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/ Encoding Web Shells in पीएनजी files]: Encoding human readable data inside an IDAT block. | * [http://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/ Encoding Web Shells in पीएनजी files]: Encoding human readable data inside an IDAT block. | ||
[[Category:1996 में कंप्यूटर से संबंधित परिचय]] | |||
[[Category:All articles with unsourced statements]] | |||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category:Articles with unsourced statements from May 2012]] | |||
[[Category:CS1 errors]] | |||
[[Category:Citation Style 1 templates|M]] | |||
[[Category:Collapse templates]] | |||
[[Category: | |||
[[Category:Created On 25/02/2023]] | [[Category:Created On 25/02/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates based on the Citation/CS1 Lua module]] | |||
[[Category:Templates generating COinS|Cite magazine]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Wikipedia fully protected templates|Cite magazine]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:आईएसओ मानक]] | |||
[[Category:खुले प्रारूप]] | |||
[[Category:ग्राफिक्स मानक]] | |||
[[Category:छवि संपीड़न]] | |||
[[Category:पोर्टेबल नेटवर्क ग्राफिक्स| पोर्टेबल नेटवर्क ग्राफिक्स ]] | |||
[[Category:रेखापुंज ग्राफिक्स फ़ाइल स्वरूप]] | |||
[[Category:वर्ल्ड वाइड वेब कंसोर्टियम मानक]] | |||
Latest revision as of 11:07, 10 March 2023
8-बिट ट्रांसपेरेंसी चैनल के साथ एक पीएनजी छवि, एक चेकर पृष्ठभूमि पर ओवरलैड, आमतौर पर पारदर्शिता को इंगित करने के लिए ग्राफिक्स सॉफ्टवेयर में उपयोग किया जाता है | |
| Filename extension |
.png |
|---|---|
| Internet media type |
image/png |
| Type code | PNGf PNG |
| Uniform Type Identifier (UTI) | public.png |
| UTI conformation | public.image |
| Magic number | Template:कोड (8 बाइट्स हेक्साडेसिमल) |
| Developed by | PNG डेवलपमेंट ग्रुप ( W3C के लिए दान किया गया) |
| Initial release | } |
| Type of format | दोषरहित बिटमैप |
| Extended to | APNG, JNG and MNG |
| Standard | ISO/IEC 15948,[1] IETF RFC 2083 |
| Open format? | हाँ |
| Website | http://www.libpng.org/pub/png/ |
पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी, आधिकारिक रूप से उच्चारित /pɪŋ/[2][3] पिंग, भाषा में उच्चारित /ˌpiːɛnˈdʒiː/[4] PEE-en-JEE) रेखापुंज ग्राफिक्स या रेखापुंज-ग्राफिक्स फ़ाइल ग्राफिक्स फ़ाइल प्रारूप है जो दोषरहित डेटा संपीड़न का समर्थन करता है।[5] इस प्रकार पीएनजी को ग्राफिक्स परिवर्तन प्रारूप (GIF) के लिए उच्चतम, गैर-पेटेंट प्रतिस्थापन के रूप में विकसित किया गया था - अनौपचारिक रूप से, प्रारंभिक पीएनजी पुनरावर्ती परिवर्णी शब्द पीएनजी नहीं बल्कि जीआईएफ के लिए खड़ा था।[6]
पीएनजी पैलेट-आधारित प्रतियों (24-बिट आरजीबी रंग मॉडल या 32-बिट [[आरजीबीए रंगीन स्थान ]] रंगों के पैलेट के साथ), ग्रेस्केल प्रतियों (पारदर्शिता के लिए अल्फा संयोजन के साथ या बिना), और इस प्रकार पूर्ण-रंग गैर-पैलेट-आधारित आरजीबी या आरजीबीए छवियां उपलब्ध रहती हैं। इस प्रकार पीएनजी कार्य समूह ने इंटरनेट पर प्रतियों को स्थानांतरित करने के लिए प्रारूप तैयार किया गया था, इस प्रकार अच्छी गुणवत्ता वाले प्रिंट ग्राफिक्स के लिए नहीं; इसलिए गैर-आरजीबी रंग स्थान जैसे कि सीएमवाईके रंग मॉडल समर्थित नहीं हैं। इस प्रकार पीएनजी फ़ाइल में विखंडू की विस्तृत संरचना में एकल प्रतिबिम्ब होती है, मूलतः पिक्सेल को एन्कोडिंग और अन्य जानकारी जैसे कि पाठ्य टिप्पणियाँ और 2083 के लिए अनुरोध में दर्ज की गई अखंडता की जांच करते हैं।[7]
पीएनजी फाइलें फाइल एक्सटेंशन का उपयोग करती हैं पीएनजी या png और एमआईएमई प्रकार का मीडिया प्रकार image/png द्वाराअसाइन किया गया है।[8]
इस प्रकार पीएनजी को मार्च 1997 में टिप्पणियों के लिए अनुरोध सूचनात्मक आरएफसी 2083 के रूप में और 2004 में ISO/IEC 15948 मानक के रूप में प्रकाशित किया गया था।[1]
इतिहास और विकास
पीएनजी प्रारूप बनाने के लिए प्रेरणा यह मानना था कि, 28 दिसंबर 1994 को, ग्राफिक्स इंटरचेंज फॉर्मेट (जीआईएफ) प्रारूप में उपयोग किए जाने वाले लेम्पेल-ज़िव-वेल्च (एलजेडडब्लू) डेटा संपीड़न एल्गोरिदम को यूनिसिस द्वारा पेटेंट कराया गया था। इस प्रकार पेटेंट के लिए आवश्यक था कि जीआईएफ का समर्थन करने वाले सभी सॉफ्टवेयर रॉयल्टी का भुगतान करता हैं, जिससे यूज़नेट उपयोगकर्ताओं की आलोचनाओं की झड़ी लग गई थी। इस प्रकार उनमें से थॉमस बाउटल थे, जिन्होंने 4 जनवरी 1995 को यूज़नेट समाचार समूह कॉम्प.ग्राफिक्स पर प्रारंभिक चर्चा सूत्र पोस्ट किया जिसमें उन्होंने जीआईएफ के मुफ्त विकल्प के लिए योजना तैयार की गई थी। इस प्रकार उस थ्रेड के अन्य उपयोगकर्ताओं ने कई प्रस्ताव प्रस्तुत किए जो बाद में अंतिम फ़ाइल स्वरूप का भाग बनेंगे। इस प्रकार लोकप्रिय जेपीईजी दर्शक क्यूपीईजी के लेखक ओलिवर फ्रॉम ने पिंग नाम प्रस्तावित किया, अंततः पीएनजी बन गया, पुनरावर्ती संक्षिप्त नाम जिसका अर्थ है पिंग जीआईएफ नहीं है,[9] और भी .png फ़ाइल नाम एक्सटेंशन को बाद में लागू किए गए अन्य सुझावों में हवा निकालना और कलर डेप्थ ट्रू कलर (24-बिट)|24-बिट कलर सपोर्ट सम्मिलित हैं, जीआईएफ में बाद वाले की कमी भी टीम को अपना फ़ाइल प्रारूप बनाने के लिए प्रेरित करती है। इस प्रकार समूह को पीएनजी डेवलपमेंट ग्रुप के रूप में जाना जाएगा, और जैसे-जैसे चर्चा तेजी से बढ़ी, इसने बाद में कॉम्प्यूसर्व फोरम से जुड़ी मेलिंग सूची का उपयोग किया जाता हैं।[2][10]
पीएनजी का पूर्ण विनिर्देश 1 अक्टूबर 1996 को वर्ल्ड वाइड वेब कंसोर्टियम के अनुमोदन के तहत जारी किया गया था, और बाद में 15 जनवरी 1997 को टिप्पणियों के लिए अनुरोध 2083 के रूप में जारी किया गया था। इस प्रकार विनिर्देश को 31 दिसंबर 1998 को संस्करण 1.1 के रूप में संशोधित किया गया था, जिसने गामा के लिए तकनीकी समस्याओं को संबोधित किया था। इस प्रकार सुधार और रंग सुधार के लिए संस्करण 1.2, 11 अगस्त 1999 को जारी किया गया iTXt चंक विनिर्देश के एकमात्र परिवर्तन के रूप में, और 1.2 का सुधारित संस्करण 10 नवंबर 2003 को W3C मानक के दूसरे संस्करण के रूप में जारी किया गया था,[11]और अंतर्राष्ट्रीय मानक के रूप में (ISO/IEC 15948:2004) 3 मार्च 2004 को संलग्न करता हैं।[12][1]
चूंकि जीआईएफ कंप्यूटर एनीमेशन के लिए अनुमति देता है, यह निर्णय लिया गया कि पीएनजी एकल-प्रतिबिम्ब प्रारूप होना चाहिए।[13] 2001 में, पीएनजी के डेवलपर्स ने एनीमेशन के समर्थन के साथ एकाधिक प्रतिबिम्ब नेटवर्क ग्राफिक्स (एमएनजी) प्रारूप प्रकाशित किया था। एमएनजी ने मध्यम एप्लिकेशन समर्थन प्राप्त किया, किन्तु मुख्यधारा के वेब ब्राउज़रों के बीच पर्याप्त नहीं था और वेब साइट डिजाइनरों या प्रकाशकों के बीच इसका कोई उपयोग नहीं था। 2008 में, कुछ mozilla डेवलपर्स ने समान लक्ष्यों के साथ एनिमेटेड पोर्टेबल नेटवर्क ग्राफिक्स (एपीएनजी) प्रारूप प्रकाशित किया। इस प्रकार एपीएनजी ऐसा प्रारूप है जो मूल रूप से छिपकली (सॉफ्टवेयर) - और प्रेस्टो (ब्राउज़र इंजन) -आधारित वेब ब्राउज़र द्वारा समर्थित है और सामान्यतः सोनी के प्लेस्टेशन पोर्टेबल सिस्टम (सामान्य पीएनजी फ़ाइल एक्सटेंशन का उपयोग करके) पर थंबनेल के लिए भी उपयोग किया जाता है। इस प्रकार 2017 में, क्रोमियम आधारित ब्राउज़रों ने एपीएनजी समर्थन को अपनाया। जनवरी 2020 में, माइक्रोसाॅफ्ट एज क्रोमियम (वेब ब्राउज़र) आधारित बन गया, इस प्रकार एपीएनजी के लिए समर्थन विरासत में मिला। इसके साथ सभी प्रमुख ब्राउज़र अब एपीएनजी को सपोर्ट करते हैं।
पीएनजी वर्किंग ग्रुप
मूल पीएनजी विनिर्देश कंप्यूटर चित्रलेख विशेषज्ञों और उत्साही लोगों के तदर्थ समूह द्वारा लिखा गया था। प्रारूप के बारे में चर्चा और निर्णय ईमेल द्वारा आयोजित किए गए। RFC 2083 में सूचीबद्ध मूल लेखक हैं:[14]
- संपादक: थॉमस बाउटेल
- योगदान संपादक: टॉम लेन (कंप्यूटर वैज्ञानिक)
- लेखक (अंतिम नाम से वर्णानुक्रम में): मार्क एडलर, थॉमस बाउटल, क्रिश्चियन ब्रंसचेन, एडम एम। कोस्टेलो, ली डेनियल क्रोकर, एंड्रियास डिल्गर, ओलिवर फ्रॉम, जीन-लूप गेल्ली, क्रिस हर्बर्थ, अलेक्स जकुलीन, नील केटलर, टॉम लेन (कंप्यूटर वैज्ञानिक), अलेक्जेंडर लेहमैन, क्रिस लिली (कंप्यूटर वैज्ञानिक), डेव मार्टिंडेल, ओवेन मोर्टेंसन, कीथ एस. पिकेंस, रॉबर्ट पी. पूले, ग्लेन रैंडर्स-पेहरसन, ग्रेग रोएलोफ्स, विलेम वैन शाइक, गाइ शल्नाट, पॉल श्मिट (कंप्यूटर प्रोग्रामर), टिम वेगनर, जेरेमी वोहल
फ़ाइल प्रारूप
30pxउबंटू ओएस के लिए एक हेक्स संपादक एप्लिकेशन के साथ देखा गया।
फाइल हेडर
पीएनजी फाइल 8-बाइट बाइनरी हस्ताक्षर से प्रारंभ होती है[15] (दाईं ओर हेक्स संपादक प्रतिबिम्ब देखें):
| Values (hex) | Purpose |
|---|---|
89
|
ट्रांसमिशन सिस्टम का पता लगाने के लिए उच्च बिट सेट है जो 8-बिट डेटा का समर्थन नहीं करता है और इस संभावना को कम करने के लिए कि पाठ फ़ाइल को गलती से समझ लिया जाए, या इसके विपरीत। |
50 4E 47
|
ASCII में, पत्रों, व्यक्ति को पाठ संपादक में देखे जाने पर प्रारूप को सरलता से पहचानने की अनुमति देता है। |
0D 0A
|
डेटा के रूपांतरण को समाप्त करने वाले डॉस-यूनिक्स लाइन का पता लगाने के लिए डॉस-शैली लाइन एंडिंग (सीआरएलएफ)। |
1A
|
एक बाइट जो DOS के अंतर्गत फ़ाइल के प्रदर्शन को रोकता है जब कमांड प्रकार का उपयोग किया गया है - अंत-फ़ाइल वर्ण। |
0A
|
यूनिक्स-डॉस लाइन समाप्ति रूपांतरण का पता लगाने के लिए यूनिक्स-शैली लाइन समाप्ति (एलएफ)। |
फ़ाइल के भीतर भाग
हेडर के बाद, चंक (सूचना) की श्रृंखला आती है,[16] जिनमें से प्रत्येक प्रतिबिम्ब के बारे में कुछ जानकारी बताता है। भाग खुद को महत्वपूर्ण या सहायक के रूप में घोषित करता है, और सहायक खंड का सामना करने वाला कार्यक्रम जो इसे समझ में नहीं आता है, इसे सुरक्षित रूप से अनदेखा कर सकता है। इस प्रकार यह चंक-आधारित भंडारण परत संरचना, कंटेनर प्रारूप (डिजिटल) या अमिगा की अवधारणा के समान है's इंटरचेंज फ़ाइल स्वरूप, पुराने संस्करणों के साथ संगतता बनाए रखते हुए पीएनजी प्रारूप को विस्तारित करने की अनुमति देने के लिए डिज़ाइन किया गया है—यह आगे की संगतता प्रदान करता है, और संबंधित एमएनजी, जेपीईजी नेटवर्क ग्राफिक्स में इसी फ़ाइल संरचना (विभिन्न हस्ताक्षर और टुकड़ों के साथ) का उपयोग किया जाता है, और इस प्रकार एपीएनजी प्रारूप में उपयोग किया गया हैं।
एक चंक में चार भाग होते हैं: लंबाई (4 बाइट्स,[17] एंडियननेस बिग-एंडियन या बिग-एंडियन), चंक प्रकार / नाम (4 बाइट्स[18]), चंक डेटा (लंबाई बाइट्स) और चक्रीय अतिरेक जाँच (चक्रीय अतिरेक कोड/चेकसम; 4 बाइट्स[17]). सीआरसी चक्रीय अतिरेक जाँचों का नेटवर्क-बाइट-ऑर्डर संगणना है। सीआरसी-32 की गणना चंक प्रकार और चंक डेटा पर की जाती है, किन्तु लंबाई पर नहीं किया जाता हैं।
| लंबाई | चंक प्रकार | चंक डेटा | सीआरसी |
|---|---|---|---|
| 4 bytes | 4 bytes | लंबाई बाइट्स में | 4 bytes |
चंक प्रकारों को चार-अक्षर केस संवेदनशीलता ASCII प्रकार/नाम दिया जाता है, इस प्रकार फोरसीसी की तुलना की जाती हैं। नाम में विभिन्न अक्षरों का स्थिति (चरित्र के संख्यात्मक मान का बिट 5) बिट फ़ील्ड है जो कोडेक को उन टुकड़ों की प्रकृति पर कुछ जानकारी प्रदान करता है जिन्हें वह नहीं पहचानता है।
पहले अक्षर का केस बताता है कि इस प्रकार चंक क्रिटिकल है या नहीं हैं। यदि पहला अक्षर अपरकेस है, तो चंक महत्वपूर्ण है; यदि नहीं, तो चंक सहायक है। क्रिटिकल चंक्स में वह जानकारी होती है जो फ़ाइल को पढ़ने के लिए आवश्यक होती है। यदि डिकोडर महत्वपूर्ण खंड का सामना करता है जिसे वह पहचान नहीं पाता है, तो इस प्रकार उसे फ़ाइल को पढ़ना बंद करना होगा या उपयोगकर्ता को उचित चेतावनी देनी होगी।
दूसरे पत्र का स्थिति इंगित करता है कि खंड सार्वजनिक है (या तो विनिर्देश में या विशेष प्रयोजन के सार्वजनिक भाग की रजिस्ट्री में) या निजी (मानकीकृत नहीं) होता हैं। अपरकेस सार्वजनिक है और लोअरकेस निजी है। यह सुनिश्चित करता है कि इस प्रकार सार्वजनिक और निजी चंक नाम कभी भी एक-दूसरे के साथ संघर्ष नहीं कर सकते (चूंकि दो निजी चंक नाम परस्पर विरोधी हो सकते हैं)।
तीसरा अक्षर पीएनजी विशिष्टता के अनुरूप होने के लिए अपरकेस होना चाहिए। यह भविष्य के विस्तार के लिए आरक्षित रहता है। डिकोडर्स को चंक को लोअर केस थर्ड लेटर के साथ किसी भी अन्य गैर-मान्यता प्राप्त चंक के समान व्यवहार करना चाहिए।
चौथे अक्षर का स्थिति इंगित करता है कि क्या चंक उन संपादकों द्वारा कॉपी करने के लिए सुरक्षित है जो इसे नहीं पहचानते हैं। इस प्रकार यदि लोअरकेस है, तो चंक को फ़ाइल में संशोधनों की सीमा की परवाह किए बिना सुरक्षित रूप से कॉपी किया जा सकता है। यदि अपरकेस है, तो इसे केवल तभी कॉपी किया जा सकता है जब संशोधनों ने किसी भी महत्वपूर्ण भाग को नहीं छुआ हो।
गंभीर भाग
डिकोडर को पीएनजी फ़ाइल को पढ़ने और प्रस्तुत करने के लिए महत्वपूर्ण भागों की व्याख्या करने में सक्षम होना चाहिए।
IHDRपहला भाग होना चाहिए; इसमें (इस क्रम में) प्रतिबिम्ब सम्मिलित है- चौड़ाई (4 बाइट्स)
- ऊंचाई (4 बाइट्स)
- बिट गहराई (1 बाइट, मान 1, 2, 4, 8, या 16)
- रंग प्रकार (1 बाइट, मान 0, 2, 3, 4, या 6)
- संपीड़न विधि (1 बाइट, मान 0)
- फ़िल्टर विधि (1 बाइट, मान 0)
- इंटरलेस मेथड (1 बाइट, वैल्यू 0 नो इंटरलेस या 1 एडम7 इंटरलेस) (कुल 13 डेटा बाइट्स)।[11]
जैसा कि वर्ल्ड वाइड वेब कंसोर्टियम में कहा गया है, बिट डेप्थ को प्रति सैंपल या प्रति पैलेट इंडेक्स (प्रति पिक्सेल नहीं) बिट्स की संख्या के रूप में परिभाषित किया गया है।[11]
PLTE पैलेट (कंप्यूटिंग) सम्मिलित है: रंगों की सूची।
IDATप्रतिबिम्ब सम्मिलित है, जिसे कई आईडीएटी भागों में विभाजित किया जा सकता है। इस प्रकार के बंटवारे से फाइल का आकार थोड़ा बढ़ जाता है, किन्तु इस प्रकार स्ट्रीमिंग तरीके से पीएनजी उत्पन्न करना संभव हो जाता है। आईडीएटी खंड में वास्तविक प्रतिबिम्ब डेटा होता है, जो संपीड़न एल्गोरिदम का आउटपुट स्ट्रीम होता है।[19]IENDप्रतिबिम्ब के अंत को चिह्नित करता है; IEND चंक के डेटा फ़ील्ड में 0 बाइट्स हैं/खाली है।[20]PLTEई> भाग रंग प्रकार 3 (अनुक्रमित रंग) के लिए आवश्यक है। यह रंग प्रकार 2 और 6 (अल्फ़ा के साथ ट्रूकलर और ट्रूकलर) के लिए वैकल्पिक है और यह रंग प्रकार 0 और 4 (ग्रेस्केल और अल्फ़ा के साथ ग्रेस्केल) के लिए प्रदर्शित नहीं होना चाहिए।
सहायक भाग
अन्य प्रतिबिम्ब विशेषताएँ जिन्हें पीएनजी फ़ाइलों में संग्रहीत किया जा सकता है, इस प्रकार उनमें गामा सुधार मान, पृष्ठभूमि रंग और पाठ संबंधी मेटा डेटा जानकारी सम्मिलित हैं। पीएनजी, ICC प्रोफ़ाइल को सम्मिलित करके रंग प्रबंधन का भी समर्थन करता है।[21]
bKGDडिफ़ॉल्ट पृष्ठभूमि रंग देता है। इसका उपयोग तब किया जाता है जब कोई उच्चतम विकल्प उपलब्ध नहीं होता है, जैसे स्टैंडअलोन प्रतिबिम्ब दर्शकों में (किन्तु वेब ब्राउज़र नहीं; अधिक विवरण के लिए नीचे देखें)।cHRMप्रदर्शन प्राथमिक रंग और सफेद बिंदु के वार्णिकता निर्देशांक देता है।dSIGडिजिटल हस्ताक्षर संग्रहीत करने के लिए है।[22]eXIfExif मेटाडेटा स्टोर करता है।[23]gAMAगामा सुधार निर्दिष्ट करता है। इस प्रकार गामा चंक में केवल 4 बाइट्स होते हैं, और इसका मान गामा मान को 100,000 से गुणा करता है; उदाहरण के लिए, गामा मान 1/3.4 29411.7647059 ((1/3.4)*(100,000)) की गणना करता है और भंडारण के लिए पूर्णांक (29412) में परिवर्तित हो जाता है।[24]hISTप्रतिबिम्ब में हिस्टोग्राम, या प्रत्येक रंग की कुल मात्रा को संग्रहीत कर सकता है।iCCPआईसीसी रंग प्रोफ़ाइल है।iTXtIETF भाषा टैग के साथ चिह्नित संभावित संपीड़न और अनुवाद के लिए एन्कोडिंग के साथ कीवर्ड और UTF-8 टेक्स्ट सम्मिलित है। इस प्रकार एक्स्टेंसिबल मेटाडेटा प्लेटफ़ॉर्म (XMP) इस चंक का उपयोग कीवर्ड 'XML:com.adobe.xmp' के साथ करता हैpHYsइच्छित पिक्सेल आकार (या पिक्सेल पहलू अनुपात) रखता है, इस प्रकार पीएचवाई में कुल 9 बाइट्स के लिए पिक्सेल प्रति यूनिट, एक्स अक्ष (4 बाइट्स), पिक्सेल प्रति यूनिट, वाई अक्ष (4 बाइट्स) और यूनिट स्पेसिफायर (1 बाइट) सम्मिलित हैं।[25]sBIT(महत्वपूर्ण बिट्स) स्रोत डेटा के रंग-सटीकता को इंगित करता है; रंग के प्रकार के आधार पर इस चंक में कुल 1 से 5 बाइट्स होते हैं।[26][27][28]sPLTरंगों की पूरी श्रृंखला अनुपलब्ध होने पर उपयोग करने के लिए पैलेट का सुझाव देता है।एस आरबीजीइंगित करता है कि मानक एस आरबीजी रंग स्थान का उपयोग किया जाता है; एस आरबीजी चंक में केवल 1 बाइट होता है, जिसका उपयोग रेंडरिंग इंटेंट के लिए किया जाता है (4 मान—0, 1, 2, और 3—रेंडरिंग इंटेंट के लिए परिभाषित किए गए हैं)।[29]sTERत्रिविम इमेज के लिए स्टीरियो-इमेज इंडिकेटर चंक।[30]tEXtपाठ को संग्रहीत कर सकता है जिसे ISO/IEC 8859-1 में प्रदर्शित किया जा सकता है, प्रत्येक चंक के लिए विशेषता-मूल्य जोड़ी | कुंजी-मूल्य जोड़ी के साथ। कुंजी की लंबाई 1 से 79 वर्णों के बीच होनी चाहिए. विभाजक अशक्त वर्ण है। मान किसी भी लम्बाई का हो सकता है, जिसमें शून्य से अधिकतम अनुमेय चंक आकार माइनस कीवर्ड और विभाजक की लंबाई सम्मिलित है। न तो कुंजी और न ही मान में अशक्त वर्ण हो सकते हैं। अग्रणी या अनुगामी रिक्त स्थान भी अस्वीकृत हैं।tIMEउस समय को संग्रहीत करता है जब प्रतिबिम्ब को अंतिम बार बदला गया था।tRNSपारदर्शिता जानकारी सम्मिलित है। अनुक्रमित प्रतियों के लिए, यह या अधिक पैलेट प्रविष्टियों के लिए अल्फा चैनल मान संग्रहीत करता है। ट्रूकलर और ग्रेस्केल प्रतियों के लिए, यह एकल पिक्सेल मान संग्रहीत करता है जिसे पूरी तरह से पारदर्शी माना जाता है।zTXtसमान सीमाओं के साथ संपीड़ित पाठtEXt(और संपीड़न विधि मार्कर) से सम्मिलित है
इन चंक्स में लोअरकेस का पहला अक्षर इंगित करता है कि पीएनजी विनिर्देशन के लिए इनकी आवश्यकता नहीं है। कुछ भागों में लोअरकेस का अंतिम अक्षर इंगित करता है कि वे कॉपी करने के लिए सुरक्षित हैं, भले ही संबंधित आवेदन उन्हें समझ नही पाए जा सकते हैं।
पिक्सेल प्रारूप
| रंग के प्रकार | चैनल्स | बिट्स पर चैनल | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 4 | 8 | 16 | ||
| सूचीगत | 1 | 1 | 2 | 4 | 8 | |
| स्केल | 1 | 1 | 2 | 4 | 8 | 16 |
| ग्रेस्केल और अल्फा | 2 | 16 | 32 | |||
| असली रंग | 3 | 24 | 48 | |||
| ट्रूकलर और अल्फा | 4 | 32 | 64 | |||
पीएनजी प्रतियों में पिक्सेल संख्याएं होती हैं जो या तो पैलेट (कंप्यूटिंग) या स्वयं नमूना डेटा में नमूना डेटा के सूचकांक हो सकती हैं। पैलेट PLTE चंक में समाहित अलग सूची है। एकल पिक्सेल के लिए नमूना डेटा में और चार संख्याओं के बीच का टपल होता है। चाहे पिक्सेल डेटा पैलेट इंडेक्स या स्पष्ट नमूना मूल्यों का प्रतिनिधित्व करता हो, संख्याओं को चैनल (डिजिटल प्रतिबिम्ब) के रूप में संदर्भित किया जाता है और प्रतिबिम्ब में प्रत्येक संख्या समान प्रारूप के साथ एन्कोड की जाती है।
स्वीकृत प्रारूप प्रत्येक संख्या को निश्चित संख्या में बिट्स का उपयोग करके अहस्ताक्षरित पूर्णांक मान के रूप में एन्कोड करता है, जिसे पीएनजी विनिर्देश में बिट गहराई के रूप में संदर्भित किया जाता है। ध्यान दें कि यह रंग की गहराई के समान नहीं है, जिसका उपयोग सामान्यतः प्रत्येक पिक्सेल में बिट्स की कुल संख्या को संदर्भित करने के लिए किया जाता है, न कि प्रत्येक चैनल को। प्रत्येक पिक्सेल के लिए उपयोग की जाने वाली बिट्स की कुल संख्या के साथ अनुमत बिट डेप्थ को सूची में संक्षेपित किया गया है।
चैनलों की संख्या इस बात पर निर्भर करती है कि प्रतिबिम्ब ग्रेस्केल है या रंग और क्या इसमें अल्फा चैनल है। पीएनजी चैनलों के निम्नलिखित संयोजनों की अनुमति देता है, जिन्हें रंग प्रकार कहा जाता है।
| 0 (0002) | ग्रे स्केल |
| 2 (0102) | लाल, हरा और नीला: आरजीबी/ट्रूकलर |
| 3 (0112) | अनुक्रमित: रंगों के पैलेट में सूचकांक युक्त चैनल |
| 4 (1002) | ग्रेस्केल और अल्फा: प्रत्येक पिक्सेल के लिए अपारदर्शिता का स्तर |
| 6 (1102) | लाल, हरा, नीला और अल्फा |
रंग प्रकार को 8-बिट मान के रूप में निर्दिष्ट किया गया है, चूंकि केवल कम 3 बिट्स का उपयोग किया जाता है और फिर भी, ऊपर सूचीबद्ध केवल पांच संयोजनों की अनुमति है। जब तक रंग प्रकार मान्य है, तब तक इसे आसन्न सूची में संक्षेपित बिट फ़ील्ड के रूप में माना जा सकता है:
| रंग के प्रकार | नाम | बाइनरी | मास्क | |||
|---|---|---|---|---|---|---|
| A | C | P | ||||
| 0 | ग्रे कलर | 0 | 0 | 0 | 0 | |
| 2 | ट्रू कलर | 0 | 0 | 1 | 0 | रंग |
| 3 | सूचीगत | 0 | 0 | 1 | 1 | रंग तथा पैलेट |
| 4 | ग्रेस्केल व एल्फा | 0 | 1 | 0 | 0 | एल्फा |
| 6 | ट्रू कलर व एल्फा | 0 | 1 | 1 | 0 | एल्फा, रंग |
- बिट वैल्यू 1: इमेज डेटा पैलेट इंडेक्स को स्टोर करता है। यह बिट मान 2 के संयोजन में ही मान्य है;
- बिट मान 2: प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग के तीन चैनल होते हैं जो ट्राइक्रोमेसी रंग होते हैं, अन्यथा प्रतिबिम्ब के नमूनों में डेटा एन्कोडिंग सापेक्ष ल्यूमिनेंस का चैनल होता है,
- बिट मान 4: प्रतिबिम्ब के नमूनों में अल्फा चैनल भी होता है जिसे पिक्सेल की अपारदर्शिता के रैखिक माप के रूप में व्यक्त किया जाता है। यह बिट मान 1 के संयोजन में मान्य नहीं है।
अनुक्रमित रंग प्रतियों के साथ, पैलेट हमेशा 8 बिट प्रति चैनल (24 बिट प्रति पैलेट प्रविष्टि) की गहराई पर ट्राइक्रोमैटिक रंगों को संग्रहीत करता है। इसके अतिरिक्त, पैलेट प्रविष्टियों के लिए 8-बिट अल्फा मानों की वैकल्पिक सूची सम्मिलित की जा सकती है; यदि सम्मिलित नहीं है, या यदि पैलेट से छोटा है, तो शेष पैलेट प्रविष्टियों को अपारदर्शी माना जाता है। पैलेट में प्रतिबिम्ब बिट गहराई की अनुमति से अधिक प्रविष्टियां नहीं होनी चाहिए, किन्तु इसमें कम हो सकती है (उदाहरण के लिए, यदि 8-बिट पिक्सेल वाली प्रतिबिम्ब केवल 90 रंगों का उपयोग करती है तो उसे सभी 256 रंगों के लिए पैलेट प्रविष्टियों की आवश्यकता नहीं होती है)। पैलेट में प्रतिबिम्ब में सम्मिलित सभी पिक्सेल मानों की प्रविष्टियाँ होनी चाहिए।
मानक अनुक्रमित रंग पीएनजी को प्रति पिक्सेल 1, 2, 4 या 8 बिट्स की अनुमति देता है; बिना अल्फा चैनल वाली ग्रेस्केल प्रतियों में प्रति पिक्सेल 1, 2, 4, 8 या 16 बिट हो सकते हैं। बाकी सब कुछ 8 या 16 के प्रति चैनल थोड़ी गहराई का उपयोग करता है। यह संयोजन जो अनुमति देता है वह ऊपर दी गई सूची में दिया गया है। मानक के लिए आवश्यक है कि डिकोडर सभी समर्थित रंग स्वरूपों को पढ़ सकें, किन्तु कई प्रतिबिम्ब संपादक केवल उनमें से छोटा सा उपसमुच्चय ही बना सकते हैं।
प्रतिबिम्ब की पारदर्शिता
पीएनजी विभिन्न प्रकार के पारदर्शिता विकल्प प्रदान करता है। ट्रू-कलर और ग्रेस्केल प्रतियों के साथ या तो एकल पिक्सेल मान को पारदर्शी घोषित किया जा सकता है या अल्फा चैनल जोड़ा जा सकता है (आंशिक पारदर्शिता के किसी भी प्रतिशत का उपयोग करने के लिए सक्षम करना)। पैलेट की गई प्रतियों के लिए, पैलेट प्रविष्टियों में अल्फा मान जोड़े जा सकते हैं। संग्रहीत ऐसे मानों की संख्या पैलेट प्रविष्टियों की कुल संख्या से कम हो सकती है, इस मामले में शेष प्रविष्टियों को पूरी तरह से अपारदर्शी माना जाता है।
पिक्सल के अनजाने में पारदर्शी होने से बचने के लिए किसी भी रंग में कमी से पहले बाइनरी ट्रांसपेरेंसी के लिए पिक्सेल वैल्यू की स्कैनिंग की जानी चाहिए। यह उन प्रणालियों के लिए समस्या उत्पन्न करने की सबसे अधिक संभावना है जो 16-बिट्स-प्रति-चैनल प्रतियों को डिकोड कर सकते हैं (जैसा कि विनिर्देश के अनुपालन के लिए आवश्यक है) किन्तु केवल 8 बिट्स प्रति चैनल पर आउटपुट (उच्चतम अंत प्रणालियों के अतिरिक्त सभी के लिए मानक) .
अल्फ़ा संग्रहण संबद्ध (अल्फ़ा कंपोज़िटिंग) या असंबद्ध हो सकता है, किन्तु पीएनजी मानकीकृत है[31] असम्बद्ध ( गैर-प्रीमिलीप्लाइड ) अल्फ़ा पर, जिसका अर्थ है कि इमेजरी अल्फ़ा एन्कोडेड नहीं है; आरजीबी में दर्शाए गए उत्सर्जन पिक्सेल स्तर पर उत्सर्जन नहीं हैं। इसका मतलब है कि ओवर ऑपरेशन आरजीबी उत्सर्जन को अल्फा से गुणा करेगा, और उत्सर्जन और रोड़ा का ठीक से प्रतिनिधित्व नहीं कर सकता है।
संपीड़न
पीएनजी 2-चरण संपीड़न प्रक्रिया का उपयोग करता है:
- पूर्व-संपीड़न: फ़िल्टरिंग (भविष्यवाणी)
- संपीड़न: अवहेलना
पीएनजी डेफ्लेट का उपयोग करता है, गैर-पेटेंट दोषरहित डेटा संपीड़न कलन विधि जिसमें LZ77 और LZ78 और हफ़मैन कोडिंग का संयोजन सम्मिलित है। अनुमेय सॉफ्टवेयर लाइसेंस डेफ्लेट कार्यान्वयन, जैसे कि zlib, व्यापक रूप से उपलब्ध हैं।
जेपीईजी जैसे हानिकारक संपीड़न वाले प्रारूपों की तुलना में, औसत विलंब प्रसंस्करण से अधिक संपीड़न सेटिंग चुनना, किन्तु अधिकांशतः इसका परिणाम महत्वपूर्ण रूप से छोटे फ़ाइल आकार में नहीं होता है।
फिल्टर
डेफ्लेट लागू होने से पहले, डेटा को भविष्यवाणी विधि के माध्यम से रूपांतरित किया जाता है: संपूर्ण प्रतिबिम्ब के लिए एकल फ़िल्टर विधि का उपयोग किया जाता है, जबकि प्रत्येक प्रतिबिम्ब रेखा के लिए, डेटा को अधिक कुशलता से संपीड़ित करने के लिए बदलने के लिए फ़िल्टर प्रकार चुना जाता है।[32] स्कैनलाइन के लिए उपयोग किए जाने वाले फ़िल्टर प्रकार को इनलाइन डीकंप्रेसन को सक्षम करने के लिए स्कैनलाइन से जोड़ा जाता है।
वर्तमान पीएनजी विनिर्देश (निरूपित विधि 0) में केवल फ़िल्टर विधि है, और इस प्रकार अभ्यास में केवल ही विकल्प है कि प्रत्येक पंक्ति पर कौन सा फ़िल्टर प्रकार लागू किया जाए। इस पद्धति के लिए, फ़िल्टर पिछले पड़ोसी पिक्सेल के मूल्यों के आधार पर प्रत्येक पिक्सेल के मूल्य की भविष्यवाणी करता है, और वास्तविक मूल्य से पिक्सेल के अनुमानित रंग को घटाता है, जैसा कि डीपीसीएम में है। इस तरह से फ़िल्टर की गई प्रतिबिम्ब रेखा अधिकांशतः कच्ची प्रतिबिम्ब रेखा की तुलना में अधिक संकुचित होती है, खासकर यदि यह ऊपर की रेखा के समान होती है, क्योंकि भविष्यवाणी से अंतर सामान्यतः सभी संभावित प्रतिबिम्ब मूल्यों में फैलने के अतिरिक्त 0 के आसपास होता है। यह विशेष रूप से अलग-अलग पंक्तियों के संबंध में महत्वपूर्ण है, क्योंकि डेफ्लेट को यह समझ नहीं है कि प्रतिबिम्ब 2D इकाई है, और इसके अतिरिक्त केवल प्रतिबिम्ब डेटा को बाइट्स की धारा के रूप में देखता है।
फ़िल्टर विधि 0 के लिए पाँच फ़िल्टर प्रकार हैं; प्रत्येक प्रकार प्रत्येक बाइट के मूल्य की भविष्यवाणी करता है (फ़िल्टरिंग से पहले प्रतिबिम्ब डेटा का) पिक्सेल के बाईं ओर (ए), पिक्सेल के ऊपर (बी), और पिक्सेल के ऊपर और बाईं ओर (सी) या इसके कुछ संयोजन, और अनुमानित मूल्य और वास्तविक मूल्य के बीच अंतर को कूटबद्ध करता है। फ़िल्टर बाइट मानों पर लागू होते हैं, पिक्सेल पर नहीं; पिक्सेल मान या दो बाइट, या प्रति बाइट कई मान हो सकते हैं, किन्तु कभी भी बाइट सीमाओं को पार नहीं करते हैं। फ़िल्टर प्रकार हैं:[33]
| बाइट के प्रकार | फिल्टर का नाम | अनुमानित मान |
|---|---|---|
| 0 | कोई नहीं | शून्य (ताकि कच्चे बाइट का मान अपरिवर्तित हो) |
| 1 | सब | बाइट ए (बाईं ओर) |
| 2 | ऊपर | बाइट बी (ऊपर) |
| 3 | प्रतिशत | बाइट A और B का माध्य, नीचे गोल किया गया |
| 4 | पाएथ | ए, बी, या सी, जो भी पी = ए + बी - सी के सबसे करीब है |
पाएथ फ़िल्टर एलन W. पाएथ द्वारा एल्गोरिथम पर आधारित है।[34]
दोषरहित जेपीईजी में उपयोग किए गए डीपीसीएम के संस्करण की तुलना करें, और 1×2, 2×1, या (पेथ प्रेडिक्टर के लिए) 2×2 विंडो और उसकी तरंगिका ्स का उपयोग करके असतत वेवलेट ट्रांसफ़ॉर्म करें।
लाइन-बाय-लाइन आधार पर अनुकूली रूप से फ़िल्टर प्रकारों को चुनकर संपीड़न में और सुधार किया जाता है। यह सुधार, और सामान्यतः पीएनजी-लेखन सॉफ्टवेयर द्वारा उपयोग किए जाने वाले इसे लागू करने का अनुमानी तरीका, ली डेनियल क्रोकर द्वारा बनाया गया था, जिन्होंने प्रारूप के निर्माण के समय कई प्रतियों पर विधियों का परीक्षण किया था;[35] फ़िल्टर का चुनाव फ़ाइल आकार अनुकूलन का घटक है, जैसा कि नीचे चर्चा की गई है।
यदि इंटरलेसिंग का उपयोग किया जाता है, तो इंटरलेसिंग के प्रत्येक चरण को अलग से फ़िल्टर किया जाता है, जिसका अर्थ है कि प्रत्येक चरण प्राप्त होने पर प्रतिबिम्ब को उत्तरोत्तर रेंडर किया जा सकता है; चूंकि, इंटरलेसिंग सामान्यतः संपीड़न को कम प्रभावी बनाता है।
इंटरलेसिंग
पीएनजी वैकल्पिक 2-आयामी, 7-पास इंटरलेसिंग (बिटमैप्स) योजना-एडम7 एल्गोरिथम प्रदान करता है। यह जीआईएफ की 1-आयामी, 4-पास योजना की तुलना में अधिक परिष्कृत है, और स्पष्ट कम-रिज़ॉल्यूशन प्रतिबिम्ब को स्थानांतरण में पहले दिखाई देने की अनुमति देता है, खासकर अगर इंटरपोलेशन एल्गोरिदम जैसे बाइबिक इंटरपोलेशन का उपयोग किया जाता है।[36]
चूंकि, 7-पास योजना सरल योजनाओं की तुलना में डेटा की संपीड्यता को कम करती है।
एनिमेशन
पीएनजी स्वयं एनीमेशन का समर्थन नहीं करता है। बहु-प्रतिबिम्ब नेटवर्क ग्राफ़िक्स पीएनजी का विस्तार है जो करता है; इसे पीएनजी समूह के सदस्यों द्वारा डिजाइन किया गया था। एमएनजी पीएनजी की मूल संरचना और भाग साझा करता है, किन्तु यह अधिक अधिक जटिल है और इसमें अलग फ़ाइल हस्ताक्षर है, जो स्वचालित रूप से इसे मानक पीएनजी डिकोडर्स के साथ असंगत बना देता है। इसका अर्थ है कि अधिकांश वेब ब्राउज़र और एप्लिकेशन ने या तो कभी एमएनजी का समर्थन नहीं किया या इसके लिए समर्थन छोड़ दिया।
एमएनजी की जटिलता ने मौजिला फाउंडेशन के डेवलपर्स द्वारा एपीएनजी के प्रस्ताव का नेतृत्व किया। यह पीएनजी पर आधारित है, एनीमेशन का समर्थन करता है और एमएनजी से सरल है। एपीएनजी, एपीएनजी का समर्थन नहीं करने वाले पीएनजी डिकोडर्स के लिए सिंगल-इमेज डिस्प्ले पर फ़ॉलबैक ऑफ़र करता है। आज, एपीएनजी प्रारूप सभी प्रमुख वेब ब्राउज़रों द्वारा समर्थित है।[37] एपीएनजी मोज़िला फ़ायरफ़ॉक्स 3.0 और ऊपर, पेल मून (वेब ब्राउज़र) (सभी संस्करण), और सफारी (वेब ब्राउज़र) 8.0 और ऊपर समर्थित है।[38] क्रोमियम 59.0 ने एपीएनजी समर्थन जोड़ा,[39][40] इसके बाद गूगल क्रोम आता है। ओपेरा (वेब ब्राउज़र) ने संस्करण 10-12.1 में एपीएनजी का समर्थन किया, किन्तु संस्करण 15 में समर्थन समाप्त हो गया जब यह ब्लिंक (ब्राउज़र इंजन) रेंडरिंग इंजन में बदल गया; समर्थन ओपेरा 46 (क्रोमियम 59 से विरासत में मिला) में फिर से जोड़ा गया था।[41] माइक्रोसॉफ्ट एज ने एपीएनजी संस्करण 79.0 के बाद से समर्थन किया है, जब यह क्रोमियम-आधारित इंजन पर स्विच किया गया था।
पीएनजी ग्रुप ने अप्रैल 2007 में एपीएनजी को गले लगाने का फैसला नहीं किया।[42] कई विकल्पों पर चर्चा चल रही थी, जिनमें ANG, aNIM/mPNG, GIF में पीएनजी और GIF में इसका सबसेट RGBA सम्मिलित है।[43] चूंकि, वर्तमान में केवल एपीएनजी को व्यापक समर्थन प्राप्त है।
उदाहरण
89 50 4E 47 0D 0A 1A 0Aपीएनजी signature |
आईएचडीआर
प्रतिबिम्ब शीर्षलेख |
आईडीएटी
प्रतिबिम्ब डेटा |
IEND
प्रतिबिम्ब अंत |
| हैक्स | करेक्टर की तरह |
|---|---|
|
89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 |
.पीएनजी........IHDR |
| औफसेट से चंक | हैक्स का मान | डेसीमल का मान | शब्द | मान |
|---|---|---|---|---|
| 0 | 0x0D | 13 | IHDR चंक में 13 बाइट्स की सामग्री है | |
| 4 | 0x49484452 | IHDR | एक हेडर चंक की पहचान करता है | |
| 8 | 0x01 | 1 | प्रतिबिम्ब 1 पिक्सेल चौड़ी है | |
| 12 | 0x01 | 1 | Image is 1 pixel high | |
| 16 | 0x08 | 8 | 8 बिट प्रति पिक्सेल (प्रति चैनल) | |
| 17 | 0x02 | 2 | कलर टाइप 2 (आरजीबी/ट्रू कलर) | |
| 18 | 0x00 | 0 | संपीड़न विधि 0 (केवल स्वीकृत मान) | |
| 19 | 0x00 | 0 | फ़िल्टर विधि 0 (केवल स्वीकृत मान) | |
| 20 | 0x00 | 0 | इंटरलेस्ड नहीं | |
| 21 | 0x907753DE | चंक के प्रकार और सामग्री का सीआरसी (लेकिन लंबाई नहीं) |
| औफसेट से चंक | हैक्स का मान | मान |
|---|---|---|
| 0 | 0x10 | आईडीएटी चंक में सामग्री के 16 बाइट हैं |
| 4 | 0x49444154 | एक डेटा खंड की पहचान करता है |
| 8 | 0x08 | 256-बाइट विंडो का उपयोग करते हुए डेफ्लेट संपीड़न विधि |
| 9 | 0xD7 | ZLIB FCHECK मान, कोई शब्दकोश उपयोग नहीं किया गया, अधिकतम संपीड़न एल्गोरिथम[44] |
| 10 | 0x63F8CFC00000 | स्थिर हफमैन कोड का उपयोग कर संकुचित डेफलेट ब्लॉक जो 0x00 0xFF 0x00 0x00 को डिकोड करता है[45] |
| 16 | 0x03010100 | ZLIB चेक मान: असम्पीडित डेटा का Adler32 चेकसम[44] |
| 20 | 0x18DD8DB0 | चंक के प्रकार और सामग्री का सीआरसी (लेकिन लंबाई नहीं) |
हेक्साडेसिमल में बाईं ओर दिखाए गए बाइट मानों के साथ हेक्स संपादकों के फैशन में प्रदर्शित किया गया है, और दाईं ओर आईएसओ -8859-1 से उनके समकक्ष वर्णों को गैर-मान्यता प्राप्त और नियंत्रण वर्णों के साथ अवधियों के साथ बदल दिया गया है। इसके अतिरिक्त पीएनजी हस्ताक्षर और अलग-अलग भागों को रंगों से चिह्नित किया गया है। ध्यान दें कि उनके मानव पठनीय प्रकार के नामों (इस उदाहरण में पीएनजी, IHDR, IDAT, और IEND) के कारण उन्हें पहचानना सरल है।
लाभ
इस अंतर्राष्ट्रीय मानक का उपयोग करने के कारण हो सकते हैं:
- पोर्टेबिलिटी: ट्रांसमिशन सॉफ्टवेयर और हार्डवेयर प्लेटफॉर्म से स्वतंत्र है।
- पूर्णता: ट्रूकलर, इंडेक्स्ड-कलर और ग्रेस्केल प्रतियों का प्रतिनिधित्व करना संभव है।
- श्रृंखला में कोडिंग और डिकोडिंग: श्रृंखला में डेटा स्ट्रीम उत्पन्न करने और पढ़ने की अनुमति देता है, अर्थात, डेटा स्ट्रीम का प्रारूप धारावाहिक संचार के माध्यम से इस समय प्रतियों के निर्माण और दृश्य के लिए उपयोग किया जाता है।
- प्रगतिशील प्रस्तुति: डेटा प्रवाह को प्रसारित करने में सक्षम होने के लिए जो प्रारंभ में पूरी प्रतिबिम्ब का अनुमान है और डेटा प्रवाह प्राप्त होने पर उत्तरोत्तर सुधार होता है।
- संचारण त्रुटियों के लिए सुदृढ़ता: डेटा स्ट्रीम की संचरण त्रुटियों का सही ढंग से पता लगाता है।
- हानिरहित: कोई हानि नहीं: फ़िल्टरिंग और संपीड़न सभी सूचनाओं को संरक्षित करते हैं।
- दक्षता: कोई भी प्रगतिशील प्रतिबिम्ब प्रस्तुति, संपीड़न और फ़िल्टरिंग कुशल डिकोडिंग और प्रस्तुति की मांग करती है।
- संपीड़न: प्रतियों को कुशलतापूर्वक और लगातार संपीड़ित किया जा सकता है।
- सहजता: मानक का कार्यान्वयन सरल है।
- विनिमेयता: मानकों का पालन करने वाला कोई भी पीएनजी डिकोडर सभी पीएनजी डेटा स्ट्रीम को पढ़ सकता है।
- लचीलापन: पिछले बिंदु को प्रभावित किए बिना भविष्य के विस्तार और निजी परिवर्धन की अनुमति देता है।
- कानूनी प्रतिबंधों की स्वतंत्रता: उपयोग किए जाने वाले एल्गोरिदम स्वतंत्र और सुलभ हैं।
अन्य फ़ाइल स्वरूपों के साथ तुलना
ग्राफिक्स इंटरचेंज फॉर्मेट (जीआईएफ)
- छोटी प्रतियों पर, GIF पीएनजी की तुलना में अधिक संपीड़न प्राप्त कर सकता है (नीचे #फ़ाइल आकार और अनुकूलन सॉफ़्टवेयर देखें)।
- अधिकांश प्रतियों पर, उपरोक्त मामले को छोड़कर, GIF फ़ाइल का आकार अनुक्रमित पीएनजी प्रतिबिम्ब से बड़ा होता है।
- पीएनजी अल्फा चैनल पारदर्शिता सहित, GIF की तुलना में अधिक व्यापक श्रेणी के पारदर्शिता विकल्प प्रदान करता है।
- जबकि जीआईएफ 8-बिट अनुक्रमित रंग तक सीमित है, पीएनजी 24-बिट (8 बिट प्रति चैनल) और 48-बिट (16 बिट प्रति चैनल) 24-बिट रंग सहित रंग की गहराई की विस्तृत श्रृंखला देता है, जो अधिक से अधिक अनुमति देता है रंग सटीक, चिकनी फीका, आदि।[46] जब अल्फा चैनल जोड़ा जाता है, तो प्रति पिक्सेल 64 बिट तक (संपीड़न से पहले) संभव है।
- किसी प्रतिबिम्ब को पीएनजी प्रारूप से GIF में कनवर्ट करते समय, यदि पीएनजी प्रतिबिम्ब में 256 से अधिक रंग हैं, तो पोस्टरीकरण के कारण प्रतिबिम्ब गुणवत्ता प्रभावित हो सकती है।
- जीआईएफ आंतरिक रूप से एनिमेटेड प्रतियों का समर्थन करता है। पीएनजी केवल अनाधिकारिक एक्सटेंशन के माध्यम से एनिमेशन का समर्थन करता है (ऊपर #एनीमेशन देखें)।
पीएनजी छवियां पुराने ब्राउज़रों द्वारा कम व्यापक रूप से समर्थित हैं। विशेष रूप से, IE6 में पीएनजी के लिए सीमित समर्थन है।[47]
जेपीईजी
जेपीईजी (संयुक्त फोटोग्राफिक विशेषज्ञ समूह) प्रारूप फोटोग्राफी (और फोटो जैसी) प्रतियों के लिए पीएनजी की तुलना में छोटी फ़ाइल का उत्पादन कर सकता है, क्योंकि जेपीईजी विशेष रूप से फोटोग्राफिक प्रतिबिम्ब डेटा के लिए डिज़ाइन किए गए हानिकारक संपीड़न का उपयोग करता है, जो सामान्यतः नरम, कम-विपरीत संक्रमणों का प्रभुत्व होता है।, और ध्वनि या इसी प्रकार की अनियमित संरचनाओं की मात्रा का उपयोग किया जाता हैं। ऐसी प्रतियों के लिए उच्च-गुणवत्ता वाले जेपीईजी के अतिरिक्त पीएनजी का उपयोग करने से गुणवत्ता में पारदर्शिता (डेटा संपीड़न) लाभ के साथ फ़ाइल आकार में बड़ी वृद्धि होती हैं। इसकी तुलना में, उन प्रतियों को संग्रहीत करते समय जिनमें पाठ, रेखा कला, या ग्राफ़िक्स होते हैं - तेज संक्रमण वाली छवियां और ठोस रंग के बड़े क्षेत्र - पीएनजी प्रारूप प्रतिबिम्ब डेटा को जेपीईजी से अधिक संपीड़ित कर सकता है। इसके अतिरिक्त, पीएनजी दोषरहित है, जबकि जेपीईजी उच्च-विपरीत क्षेत्रों के आसपास दृश्य कलाकृतियों का निर्माण करता है। (इस तरह की कलाकृतियाँ JPG संपीड़न में उपयोग की जाने वाली सेटिंग्स पर निर्भर करती हैं; जब निम्न-गुणवत्ता [उच्च-संपीड़न] सेटिंग का उपयोग किया जाता है तो वे अधिक ध्यान देने योग्य हो सकते हैं।) दो प्रभाव। जेपीईजी पारदर्शिता का समर्थन नहीं करता है।
जेपीईजी का हानिपूर्ण संपीड़न भी पीढ़ी के नुकसान से ग्रस्त है, जहां बार-बार डिकोडिंग और प्रतिबिम्ब को फिर से बचाने के लिए फिर से एन्कोडिंग करने से हर बार जानकारी की हानि होती है, जिससे प्रतिबिम्ब खराब हो जाती है। क्योंकि पीएनजी दोषरहित है, यह संपादित की जाने वाली प्रतियों को संग्रहीत करने के लिए उपयुक्त है। जबकि पीएनजी फोटोग्राफिक प्रतियों को संपीड़ित करते समय अधिक कुशल है, उदाहरण के लिए फोटोग्राफिक प्रतियों, दोषरहित वेबपी और डिजिटल नकारात्मक (डिजिटल नकारात्मक) के लिए विशेष रूप से डिज़ाइन किए गए दोषरहित संपीड़न प्रारूप हैं। चूंकि ये प्रारूप या तो व्यापक रूप से समर्थित नहीं हैं, या मालिकाना हैं। प्रतिबिम्ब को दोषरहित रूप से संग्रहीत किया जा सकता है और केवल वितरण के लिए जेपीईजी प्रारूप में परिवर्तित किया जा सकता है, जिससे कि कोई पीढ़ी की हानि न हो।
जबकि पीएनजी विनिर्देश में स्पष्ट रूप से डिजिटल कैमरों जैसे स्रोतों से Exif प्रतिबिम्ब डेटा को एम्बेड करने के लिए मानक सम्मिलित नहीं है, पीएनजी में EXIF डेटा एम्बेड करने के लिए पसंदीदा तरीका गैर-महत्वपूर्ण सहायक चंक लेबल का उपयोग करना है eXIf.[48]
प्रारंभिक वेब ब्राउज़र पीएनजी प्रतियों का समर्थन नहीं करते थे; जेपीईजी और जीआईएफ मुख्य प्रतिबिम्ब प्रारूप थे। जीआईएफ की सीमित रंग गहराई के कारण वेब पेजों के लिए ग्रेडिएंट वाली प्रतियों का निर्यात करते समय जेपीईजी का सामान्यतः उपयोग किया जाता था। चूंकि, जेपीईजी संपीड़न के कारण ग्रेडिएंट थोड़ा धुंधला हो जाता है। पीएनजी प्रारूप फ़ाइल आकार को छोटा रखते हुए, दी गई बिट गहराई के लिए यथासंभव सटीक रूप से ढाल को पुन: उत्पन्न करता है। पीएनजी छोटे ग्रेडियेंट प्रतियों के लिए इष्टतम विकल्प बन गया क्योंकि प्रारूप में सुधार के लिए वेब ब्राउज़र समर्थन प्राप्त होता हैं। आधुनिक ब्राउज़रों में ग्रेडिएंट्स प्रदर्शित करने के लिए किसी इमेज की आवश्यकता नहीं है, क्योंकि व्यापक शैली पत्रक का उपयोग करके ग्रेडिएंट्स बनाए जा सकते हैं।
जेपीईजी-रास
जेपीईजी-एलएस संयुक्त फोटोग्राफिक विशेषज्ञ समूह द्वारा प्रतिबिम्ब प्रारूप है, चूंकि ऊपर चर्चा की गई अन्य हानिकारक जेपीईजी प्रारूप की तुलना में बहुत कम व्यापक रूप से ज्ञात और समर्थित है। यह पीएनजी के साथ सीधे तुलनीय है, और परीक्षण प्रतियों का मानक सेट है।[49] वाटरलू प्रदर्शनों की सूची कलरसेट पर, परीक्षण प्रतियों का मानक सेट (जेपीईजी-एलएस अनुरूपता परीक्षण सेट से असंबंधित), जेपीईजी-एलएस सामान्यतः पीएनजी से 10-15% उच्चतम प्रदर्शन करता है, किन्तु कुछ प्रतियों पर पीएनजी अधिक उच्चतम प्रदर्शन करता है। 50-75% का क्रम।[50] इस प्रकार, यदि ये दोनों प्रारूप विकल्प हैं और फ़ाइल का आकार महत्वपूर्ण मानदंड है, तो प्रतिबिम्ब के आधार पर इन दोनों पर विचार किया जाना चाहिए।
झगड़ा
टैग की गई प्रतिबिम्ब फ़ाइल स्वरूप (टीआईएफएफ) प्रारूप है जिसमें विकल्पों की विस्तृत श्रृंखला सम्मिलित है। चूंकि यह टीआईएफएफ को पेशेवर प्रतिबिम्ब संपादन अनुप्रयोगों के बीच आदान-प्रदान के लिए सामान्य प्रारूप के रूप में उपयोगी बनाता है, यह अनुप्रयोगों के लिए इसके लिए समर्थन को बहुत बड़ा कार्य बनाता है और इसलिए प्रतिबिम्ब हेरफेर (जैसे वेब ब्राउज़र) से संबंधित अनुप्रयोगों में इसका समर्थन बहुत कम है। एक्स्टेंसिबिलिटी के उच्च स्तर का अर्थ यह भी है कि अधिकांश एप्लिकेशन संभावित सुविधाओं का केवल सबसेट प्रदान करते हैं, संभावित रूप से उपयोगकर्ता भ्रम और अनुकूलता के मुद्दे पैदा करते हैं।
टीआईएफएफ के साथ प्रयोग किया जाने वाला सबसे आम सामान्य-उद्देश्य, दोषरहित संपीड़न एल्गोरिथम लेम्पेल-ज़िव-वेल्च (एलजेडडब्ल्यू) है। जीआईएफ में भी उपयोग की जाने वाली यह संपीड़न तकनीक, 2003 तक पेटेंट द्वारा कवर की गई थी। टीआईएफएफ संपीड़न एल्गोरिदम पीएनजी का भी समर्थन करता है (अर्ताथ टैग की गई प्रतिबिम्ब फ़ाइल प्रारूप # टीआईएफएफ संपीड़न टैग | संपीड़न टैग 000816'एडोब सिस्टम-style') मध्यम उपयोग और अनुप्रयोगों द्वारा समर्थन के साथ। टीआईएफएफ सीसीआईटीटी समूह IV जैसे विशेष-उद्देश्य दोषरहित संपीड़न एल्गोरिदम भी प्रदान करता है, जो पीएनजी के संपीड़न एल्गोरिदम की तुलना में द्विआधारी प्रतिबिम्ब (जैसे, फ़ैक्स या ब्लैक-एंड-व्हाइट टेक्स्ट) को उच्चतम ढंग से संपीड़ित कर सकता है।
पीएनजी केवल गैर-प्रीमिलीप्लाइड अल्फ़ा का समर्थन करता है[31]जबकि टीआईएफएफ संबद्ध (प्रीमिलीप्लाइड) अल्फा का भी समर्थन करता है।
सॉफ्टवेयर समर्थन
पीएनजी प्रारूप का आधिकारिक संदर्भ कार्यान्वयन पुस्तकालय (कम्प्यूटिंग) libpng है।[51] इसे अनुमोदक अनुमेय मुफ्त सॉफ्टवेयर लाइसेंस शर्तों के तहत मुफ्त सॉफ्टवेयर के रूप में प्रकाशित किया जाता है। इसलिए, यह सामान्यतः मुफ्त ऑपरेटिंग सिस्टम में महत्वपूर्ण सिस्टम लाइब्रेरी के रूप में पाया जाता है।
पीएनजी के लिए बिटमैप ग्राफिक्स संपादक समर्थन
पीएनजी प्रारूप ग्राफिक्स कार्यक्रमों द्वारा व्यापक रूप से समर्थित है, जिसमें एडोब फोटोशाॅप, Corel's Corel Photo-Paint|Photo-Paint और Corel Paint Shop Pro, GIMP, ग्राफिक कनवर्टर, हेलिकॉन फ़िल्टर, इमेज मैजिक, Inkscape, IrfanView, Pixel प्रतिबिम्ब संपादक, प्लेन डाॅट नेट सम्मिलित हैं। और ज़ारा फोटो और ग्राफिक डिजाइनर और कई अन्य। लोकप्रिय ऑपरेटिंग सिस्टम के साथ बंडल किए गए कुछ प्रोग्राम जो पीएनजी का समर्थन करते हैं, उनमें माइक्रोसाॅफ्ट के माइक्रोसाॅफ्ट पेंट और Apple Inc. की तस्वीरें (Apple) / iPhoto और पूर्वावलोकन (macOS) सम्मिलित हैं, GIMP के साथ भी अधिकांशतः लोकप्रिय Linux वितरण के साथ बंडल किया जाता है।
एडोब फायर वर्क्स (पूर्व में Macromedia द्वारा) अपने मूल फ़ाइल स्वरूप के रूप में पीएनजी का उपयोग करता है, जिससे अन्य प्रतिबिम्ब संपादकों और पूर्वावलोकन उपयोगिताओं को चपटी प्रतिबिम्ब देखने की अनुमति मिलती है। चूंकि, आतिशबाजी डिफ़ॉल्ट रूप से परतों, एनीमेशन, वेक्टर डेटा, पाठ और प्रभावों के लिए मेटाडेटा भी संग्रहीत करती है। ऐसी फाइलों को सीधे वितरित नहीं किया जाना चाहिए। पटाखे इसके अतिरिक्त प्रतिबिम्ब को वेब पेज आदि पर उपयोग के लिए अतिरिक्त मेटाडेटा के बिना अनुकूलित पीएनजी के रूप में निर्यात कर सकते हैं।[citation needed]
पीएनजी के लिए वेब ब्राउज़र समर्थन
पीएनजी समर्थन पहली बार 1997 में इंटरनेट एक्सप्लोरर 4.0b1 (32-बिट केवल NT के लिए) और नेटस्केप 4.04 में दिखाई दिया।[52] फ्री सॉफ्टवेयर फाउंडेशन के आह्वान के अतिरिक्त[53] और वर्ल्ड वाइड वेब कंसोर्टियम (W3C),[54] उपकरण जैसे gif2png,[55] और अभियान जैसे बर्न ऑल जीआईएफ,[56] इंटरनेट एक्सप्लोरर में देर से और बगी समर्थन के कारण वेबसाइटों पर पीएनजी अपनाने की गति अधिक धीमी थी, विशेष रूप से पारदर्शिता के संबंध में उपयोगी हैं।[57]
पीएनजी संगत ब्राउज़र में सम्मिलित हैं: Apple Safari (वेब ब्राउज़र), गूगल क्रोम, मौजिला फायर फाक्स, औपेरा (वेब ब्राउज़र), कैम्बिनों (वेब ब्राउज़र), इंटरनेट एक्सप्लोरर 7 (अभी भी कई मुद्दे),[58] इंटरनेट एक्सप्लोरर 8 (अभी भी कुछ मुद्दे), इंटरनेट एक्सप्लोरर 9 और कई अन्य उपलब्ध हैं। इस प्रकार संपूर्ण तुलना के लिए, वेब ब्राउज़र की तुलना प्रतिबिम्ब प्रारूप समर्थन|वेब ब्राउज़र की तुलना (प्रतिबिम्ब प्रारूप समर्थन) देखें।
विशेष रूप से 9.0 (2011 में जारी) से नीचे इंटरनेट एक्सप्लोरर (विंडोज़) के संस्करणों में कई समस्याएं हैं जो इसे पीएनजी प्रतियों को सही ढंग से प्रस्तुत करने से रोकती हैं।[58]
- 4.0 पीएनजी के बड़े टुकड़ों पर क्रैश हो जाता है।[59]
- 4.0 does not include the functionality to view .png फ़ाइलें,[60] किन्तु रजिस्ट्री फिक्स है।[58]* 5.0 और 5.01 ने वस्तु समर्थन को तोड़ दिया है।[61]
- 5.01 विंडोज 98 के तहत काले (या गहरे भूरे) पृष्ठभूमि वाले पैलेट प्रतियों को प्रिंट करता है, कभी-कभी मौलिक रूप से परिवर्तित रंगों के साथ।[62]
- 6.0 आकार में 4097 या 4098 बाइट्स की पीएनजी प्रतियों को प्रदर्शित करने में विफल रहता है।[63]
- 6.0 या अधिक शून्य-लंबाई वाले IDAT चंक वाली पीएनजी फ़ाइल नहीं खोल सकता। यह समस्या सबसे पहले सुरक्षा अद्यतन 947864 (MS08-024) में ठीक की गई थी। अधिक जानकारी के लिए, इस आलेख को माइक्रोसाॅफ्ट ज्ञानकोष में देखें: 947864 MS08-024: Internet Explorer के लिए संचयी सुरक्षा अद्यतन।[64]
- 6.0 कभी-कभी पूरी तरह से पीएनजी प्रदर्शित करने की क्षमता खो देता है, किन्तु कई सुधार हैं।[65]
- 6.0 और नीचे के अल्फा-चैनल पारदर्शिता समर्थन टूट गया है (इसके अतिरिक्त डिफ़ॉल्ट पृष्ठभूमि रंग प्रदर्शित करेगा)।[66][67][68] * 7.0 और नीचे 8-बिट अल्फा पारदर्शिता और तत्व अपारदर्शिता (कैस्केडिंग स्टाइल शीट्स - फिल्टर: अल्फा (अस्पष्टता = xx)) को आंशिक रूप से पारदर्शी वर्गों को काले रंग से भरे बिना संयोजित नहीं कर सकते।[69]
- 8.0 और उससे नीचे का गामा सपोर्ट असंगत/टूटा हुआ है।[58]* 8.0 और उससे नीचे के वर्जन में कलर करेक्शन सपोर्ट नहीं है।[58]
पीएनजी आइकनों के लिए ऑपरेटिंग सिस्टम का समर्थन
कम से कम 1999 से सूक्ति जैसे डेस्कटॉप वातावरण में पीएनजी आइकनों को लिनक्स के अधिकांश वितरणों में समर्थित किया गया है।[70] 2006 में, विंडोज विस्ता में पीएनजी आइकन के लिए माइक्रोसाॅफ्ट विंडोज समर्थन पेश किया गया था।[71] पीएनजी आइकन अमीगाOS 4, AROS, macOS, iOS और MorphOS में भी समर्थित हैं। इसके अतिरिक्त, एंड्रॉइड (ऑपरेटिंग सिस्टम) पीएनजी का व्यापक उपयोग करता है।
फ़ाइल का आकार और अनुकूलन सॉफ्टवेयर
पीएनजी फ़ाइल का आकार इस बात पर निर्भर करते हुए महत्वपूर्ण रूप से भिन्न हो सकता है कि यह एन्कोडेड और संपीड़ित कैसे है; इस पर चर्चा की गई है और पीएनजी: द डेफिनिटिव गाइड में कई सुझाव दिए गए हैं।[50]
जीआईएफ की तुलना में
जीआईएफ फाइलों की तुलना में, प्रभावी कंप्रेसर द्वारा संपीड़ित समान जानकारी (256 रंग, कोई सहायक भाग/मेटाडेटा) वाली पीएनजी फ़ाइल सामान्य रूप से जीआईएफ प्रतिबिम्ब से छोटी होती है। फ़ाइल और कंप्रेसर के आधार पर, पीएनजी कुछ छोटे (10%) से लेकर अधिक छोटे (50%) से कुछ बड़े (5%) तक हो सकता है, किन्तु शायद ही कभी अधिक बड़ा होता है[50]बड़ी प्रतियों के लिए। इसे GIF के LZW की तुलना में पीएनजी के डेफ्लेट के प्रदर्शन के लिए जिम्मेदार ठहराया गया है, और क्योंकि पीएनजी के प्रेडिक्टिव फिल्टर की अतिरिक्त प्रीकंप्रेशन परत फाइलों को और कंप्रेस करने के लिए 2-आयामी प्रतिबिम्ब संरचना का ध्यान रखती है; फ़िल्टर किए गए डेटा के रूप में पिक्सेल के बीच अंतर को एन्कोड करता है, वे सभी संभावित मानों में फैले होने के अतिरिक्त 0 के करीब क्लस्टर करते हैं, और इस प्रकार डेफ्लेट द्वारा अधिक सरलता से संकुचित हो जाते हैं। चूंकि, एडोब फोटोशाॅप, कोरल ड्रा और माइक्रोसाॅफ्ट पेंट के कुछ संस्करण खराब पीएनजी संपीड़न प्रदान करते हैं, जिससे यह धारणा बनती है कि GIF अधिक कुशल है।[50]
फ़ाइल आकार कारक
पीएनजी फाइलें कई कारकों के कारण आकार में भिन्न होती हैं:
रंग की गहराई: रंग की गहराई 1 से 64 बिट प्रति पिक्सेल तक हो सकती है।
सहायक भाग: पीएनजी मेटाडेटा का समर्थन करता है—यह संपादन के लिए उपयोगी हो सकता है, किन्तु वेबसाइटों पर देखने के लिए अनावश्यक है।
- इंटरलेसिंग
- चूंकि एडम7 एल्गोरिदम के प्रत्येक पास को अलग से फ़िल्टर किया जाता है, इससे फ़ाइल का आकार बढ़ सकता है।[50]फ़िल्टर: प्रीकंप्रेशन चरण के रूप में, प्रत्येक पंक्ति को भविष्य कहनेवाला फ़िल्टर द्वारा फ़िल्टर किया जाता है, जो लाइन से लाइन में बदल सकता है। चूंकि संपूर्ण प्रतिबिम्ब के फ़िल्टर किए गए डेटा पर अंतिम डेफ्लेट चरण संचालित होता है, कोई भी इस पंक्ति-दर-पंक्ति को अनुकूलित नहीं कर सकता है; इस प्रकार प्रत्येक पंक्ति के लिए फ़िल्टर का विकल्प संभावित रूप से बहुत परिवर्तनशील है, चूंकि अनुमान सम्मिलित हैं।[note 1]
संपीड़न: अतिरिक्त संगणना के साथ, डिफलेट कंप्रेशर्स छोटी फाइलें बना सकते हैं।
इस प्रकार उच्च रंग की गहराई, अधिकतम मेटाडेटा (रंग स्थान की जानकारी सहित, सूचना के साथ जो प्रदर्शन को प्रभावित नहीं करता है), इंटरलेसिंग और संपीड़न की गति के बीच फाइलसाइज ट्रेड-ऑफ है, जो कम रंग की गहराई के साथ बड़ी फाइलें उत्पन्न करता है, इस प्रकार कम या कोई सहायक भाग नहीं, कोई इंटरलेसिंग नहीं, और ट्यून किया गया किन्तु कम्प्यूटेशनल रूप से गहन फ़िल्टरिंग और संपीड़न करती हैं। इस प्रकार अलग-अलग उद्देश्यों के लिए, अलग-अलग ट्रेड-ऑफ़ चुने जाते हैं: इस प्रकार अधिकतम फ़ाइल संग्रह और संपादन के लिए सर्वोत्तम हो सकती है, जबकि स्ट्रिप्ड डाउन फ़ाइल वेबसाइट पर उपयोग के लिए सर्वोत्तम हो सकती है, और इसी प्रकार तेज़ किन्तु खराब संपीड़न को बार-बार संपादन और सहेजते समय प्राथमिकता दी जाती है। इस प्रकार फ़ाइल, जबकि फ़ाइल के स्थिर होने पर धीमी किन्तु उच्च संपीड़न को प्राथमिकता दी जाती है: संग्रह या पोस्ट करते समय। इंटरलेसिंग ट्रेड-ऑफ़ है: यह नाटकीय रूप से बड़ी फ़ाइलों के शुरुआती रेंडरिंग को गति देता है (विलंबता में सुधार करता है), किन्तु थोड़े लाभ के लिए फ़ाइल का आकार बढ़ा सकता है (थ्रूपुट घटा सकता है), विशेष रूप से छोटी फ़ाइलों के लिए।[50]
हानिपूर्ण पीएनजी संपीड़न
चूंकि पीएनजी दोषरहित प्रारूप है, पीएनजी कंप्रेशन को उच्चतम बनाने के लिए पीएनजी एनकोडर हानिपूर्ण तरीके से प्रतिबिम्ब डेटा को प्रीप्रोसेस कर सकते हैं। उदाहरण के लिए, ट्रूकलर पीएनजी को 256 रंगों में परिमाणित करने से फ़ाइल आकार में संभावित कमी के लिए अनुक्रमित रंग प्रकार का उपयोग किया जा सकता है।[72]
प्रतिबिम्ब संपादन सॉफ्टवेयर
पीएनजी फाइलों को सहेजते समय कुछ प्रोग्राम दूसरों की तुलना में अधिक कुशल होते हैं, यह प्रोग्राम द्वारा उपयोग किए जाने वाले पीएनजी संपीड़न के कार्यान्वयन से संबंधित है।
कई ग्राफ़िक्स प्रोग्राम (जैसे कि Apple का प्रीव्यू (सॉफ़्टवेयर) सॉफ़्टवेयर) पीएनजी को बड़ी मात्रा में मेटाडेटा और रंग-सुधार डेटा के साथ सहेजते हैं जो सामान्यतः वर्ल्ड वाइड वेब देखने के लिए अनावश्यक होते हैं। एडोब फायर वर्क्स की अडॉप्टिमाइज्ड पीएनजी फाइलें भी इसके लिए कुख्यात हैं क्योंकि उनमें समर्थित संपादकों में प्रतिबिम्ब को संपादन योग्य बनाने के विकल्प होते हैं। इस प्रकार साथ ही कोरल ड्रा (कम से कम संस्करण 11) कभी-कभी पीएनजी उत्पन्न करता है जिसे इंटरनेट एक्सप्लोरर (संस्करण 6-8) द्वारा खोला नहीं जा सकता है।
वेब के लिए सहेजें सुविधा (जो स्पष्ट पीएनजी/8 उपयोग की भी अनुमति देता है) का उपयोग करते समय पीएनजी फ़ाइलों पर एडोब फोटोशाॅप का प्रदर्शन CS सूट में उच्चतम हुआ है।
एडोब फायरवर्क्स डिफ़ॉल्ट रूप से कई प्रोग्रामों की तुलना में बड़ी पीएनजी फ़ाइलें सहेजता है। यह इसके सेव फॉर्मेट के यांत्रिकी से उपजा है: फायरवर्क्स के सेव फंक्शन द्वारा निर्मित प्रतियों में बड़े, निजी भाग सम्मिलित हैं, जिसमें पूरी परत और वेक्टर जानकारी सम्मिलित है। यह आगे दोषरहित संपादन की अनुमति देता है। जब निर्यात विकल्प के साथ सहेजा जाता है, आतिशबाजी के पीएनजी अन्य प्रतिबिम्ब संपादकों द्वारा उत्पादित के साथ प्रतिस्पर्धी होते हैं, किन्तु अब चपटा बिटमैप्स के अतिरिक्त कुछ भी संपादन योग्य नहीं हैं। पटाखे आकार-अनुकूलित वेक्टर-संपादन योग्य PNGs को सहेजने में असमर्थ हैं।
खराब पीएनजी कम्प्रेसर के अन्य उल्लेखनीय उदाहरणों में सम्मिलित हैं:
- विंडोज एक्सपी के लिए माइक्रोसॉफ्ट का पेंट
- माइक्रोसॉफ्ट पिक्चर इट! फोटो प्रीमियम 9
खराब संपीड़न पीएनजी फ़ाइल के आकार को बढ़ाता है किन्तु अन्य कार्यक्रमों के साथ फ़ाइल की प्रतिबिम्ब गुणवत्ता या संगतता को प्रभावित नहीं करता है।
जब 24-बिट रंगीन प्रतिबिम्ब की रंग गहराई 8-बिट पैलेट (जीआईएफ में) तक कम हो जाती है, तो परिणामी प्रतिबिम्ब डेटा सामान्यतः बहुत छोटा होता है। इस प्रकार ट्रूकलर पीएनजी सामान्यतः रंग-कम जीआईएफ से बड़ा होता है, चूंकि पीएनजी रंग-कम संस्करण को तुलनीय आकार की पैलेटाइज्ड फ़ाइल के रूप में संग्रहीत कर सकता है। इसके विपरीत, कुछ उपकरण, पीएनजी के रूप में प्रतियों को सहेजते समय, स्वचालित रूप से उन्हें ट्रूकलर के रूप में सहेजते हैं, भले ही मूल डेटा केवल 8-बिट रंग का उपयोग करता हो, इस प्रकार फ़ाइल को अनावश्यक रूप से फुलाता है।[50]दोनों कारक गलत धारणा पैदा कर सकते हैं कि पीएनजी फाइलें समकक्ष जीआईएफ फाइलों से बड़ी हैं।
अनुकूलन उपकरण
पीएनजी फाइलों के अनुकूलन के लिए विभिन्न उपकरण उपलब्ध हैं; वे ऐसा करते हैं:
- (वैकल्पिक रूप से) सहायक भाग निकालना,
- रंग की गहराई कम करना, या तो:
- अगर प्रतिबिम्ब में 256 या उससे कम रंग हैं, तो पैलेट (आरजीबी के अतिरिक्त) का उपयोग करें,
- एक छोटे पैलेट का उपयोग करें, यदि प्रतिबिम्ब में 2, 4, या 16 रंग हैं, या
- (वैकल्पिक रूप से) मूल प्रतिबिम्ब में कुछ डेटा हानिपूर्ण रूप से त्यागें,
- लाइन-बाय-लाइन फ़िल्टर विकल्प का अनुकूलन, और
- डिफलेट संपीड़न का अनुकूलन।
उपकरण सूची
- pngcrush लोकप्रिय पीएनजी ऑप्टिमाइज़र में सबसे पुराना है। यह फ़िल्टर चयन और संपीड़न तर्कों पर कई परीक्षणों की अनुमति देता है, और अंत में सबसे छोटा चुनता है। लगभग हर png ऑप्टिमाइज़र में इस वर्किंग मॉडल का उपयोग किया जाता है।
- advpng और इसी प्रकार की advdef उपयोगिता AdvanceCOMP पैकेज में पीएनजी IDAT को पुनः संपीड़ित करती है। चयनित संपीड़न स्तर, गति और फ़ाइल आकार के बीच व्यापार के आधार पर विभिन्न डिफलेट कार्यान्वयन लागू होते हैं: स्तर 1 पर zlib, स्तर 2 पर libdeflate, स्तर 3 पर 7-ज़िप का LZMA डेफ्लेट, और स्तर 4 पर zopfli इत्यादि।
- pngout को लेखक के अपने डिफ्लेटर (लेखक की ज़िप उपयोगिता, kzip के समान) के साथ बनाया गया था, जबकि रंग में कमी/फ़िल्टरिंग की सभी सुविधाओं को ध्यान में रखा गया था। चूंकि, pngout बार में फ़िल्टर पर कई परीक्षणों का उपयोग करने की अनुमति नहीं देता है। इसके वाणिज्यिक जीयूआई संस्करण, पीएनजीआउटविन का उपयोग करने का सुझाव दिया गया है, या परीक्षणों को स्वचालित करने के लिए #रैपर टूल के साथ प्रयोग किया जाता है या फ़िल्टर लाइन को लाइन से रखते हुए अपने स्वयं के डिफ्लेटर का उपयोग करके पुनःसंपीड़ित किया जाता है।
- Zopflipng भी स्व-अपस्फीतिकारक, Zopfli के साथ बनाया गया था। इसमें सभी अनुकूलन विशेषताएं हैं pngcrush में (स्वचालित परीक्षणों सहित) बहुत अच्छा, किन्तु धीमा डिफ्लेटर प्रदान करते हुए।
उनकी विशेषताओं की सरल तुलना नीचे सूचीबद्ध है।
| अनुकूलक | चंक दूर करना | रंग कम करना | फिल्टर करना | फिल्टर पुर्नउपयोग | एक बार में फिल्टर पर कई परीक्षण | अवस्फीतिकारक |
|---|---|---|---|---|---|---|
| advpng | हाँ | नहीं[note 2] | 0 | नहीं | N/A | ((एकाधिक)) |
| advdef | नहीं | नहीं | पिछले फ़िल्टर सेट का पुन: उपयोग करता है | सदैव | N/A | ((एकाधिक)) |
| pngcrush | हाँ | हाँ | 0–4 or adaptive | नहीं | हाँ | zlib |
| pngout | हाँ | हाँ | 0–4 or adaptive | हाँ[note 3] | नहीं | kzip |
| zopflipng | हाँ | हाँ | 0–4 or adaptive with 2 different algorithms, or with a brute way | हाँ | हाँ | zopfli |
zopflipng उपलब्ध होने से पहले, png ऑप्टिमाइज़ेशन करने का अच्छा तरीका इष्टतम संपीड़न के लिए अनुक्रम में 2 टूल के संयोजन का उपयोग करना है: जो फ़िल्टर को अनुकूलित करता है (और सहायक भाग हटाता है), और जो डेफ्लेट को ऑप्टिमाइज़ करता है। चूंकि इस प्रकार pngout दोनों प्रदान करता है, केवल ही प्रकार के फ़िल्टर को बार में निर्दिष्ट किया जा सकता है, इसलिए इसका उपयोग #रैपर टूल के साथ या pngcrush के संयोजन में किया जा सकता है,[note 3]advdef के समान री-डिफ्लेटर के रूप में कार्य करता हैं।
सहायक भाग हटाना
सहायक भागों को हटाने के लिए, अधिकांश पीएनजी अनुकूलन उपकरणों में पीएनजी फाइलों (गामा, सफेद संतुलन, आईसीसी रंग प्रोफ़ाइल, मानक आरजीबी रंग प्रोफ़ाइल) से सभी रंग सुधार डेटा को हटाने की क्षमता होती है। इसका परिणाम अधिकांशतः बहुत छोटे फ़ाइल आकार में होता है। उदाहरण के लिए, निम्नलिखित कमांड लाइन विकल्प इसे pngcrush के साथ प्राप्त करते हैं:
pngcrush -rem gAMA -rem cHRM -rem iCCP -rem एस आरबीजी InputFile.png OutputFile.png
फ़िल्टर अनुकूलन
pngcrush, pngout, और zopflipng सभी ऑफ़र विकल्प वैश्विक स्तर पर 0–4 फ़िल्टर प्रकारों में से किसी को लागू करते हैं (सभी पंक्तियों के लिए समान फ़िल्टर प्रकार का उपयोग करके) या छद्म फ़िल्टर (क्रमांकित 5) के साथ, जो प्रत्येक पंक्ति के लिए फ़िल्टर प्रकारों में से को चुनता है 0 -4 अनुकूली एल्गोरिथ्म का उपयोग करना। Zopflipng 3 अलग-अलग अनुकूली विधि प्रदान करता है, जिसमें इस प्रकार ब्रूट-फोर्स सर्च सम्मिलित है जो फ़िल्टरिंग को अनुकूलित करने का प्रयास करता है। pngout और zopflipng संरक्षित/पुन: उपयोग करने का विकल्प प्रदान करते हैं इनपुट इमेज में सम्मिलित लाइन-बाय-लाइन फ़िल्टर सेट उपयोग किये जाते हैं।
pngcrush और zopflipng ही बार में विभिन्न फ़िल्टर रणनीतियों को आज़माने और सर्वश्रेष्ठ चुनने के विकल्प प्रदान करते हैं। pngout का फ्रीवेयर कमांड लाइन संस्करण इसकी पेशकश नहीं करता है, किन्तु व्यावसायिक संस्करण, pngoutwin, करता है।
डिफ्लेट ऑप्टिमाइज़ेशन
Zopfli और 7zip#Software development किट डेफ्लेट कार्यान्वयन प्रदान करते हैं जो प्रदर्शन की कीमत पर zlib संदर्भ कार्यान्वयन की तुलना में उच्च डेटा संपीड़न अनुपात उत्पन्न कर सकते हैं। एडवांसकॉम्प्स advpng और advdef पीएनजी फ़ाइलों को फिर से कंप्रेस करने के लिए इनमें से किसी भी लाइब्रेरी का उपयोग कर सकते हैं। इसके अतिरिक्त, पीएनजीओयूटी में अपना स्वामित्व सॉफ्टवेयर डिफलेट कार्यान्वयन सम्मिलित है।
advpng फ़िल्टर लागू करने का कोई विकल्प नहीं है और हमेशा वैश्विक रूप से फ़िल्टर 0 का उपयोग करता है (प्रतिबिम्ब डेटा को अनफ़िल्टर्ड छोड़कर); इसलिए इसका उपयोग वहां नहीं किया जाना चाहिए जहां प्रतिबिम्ब को फ़िल्टर करने से अधिक लाभ होता है। इसके विपरीत, advdef ही पैकेज से पीएनजी संरचना से संबंधित नहीं है और केवल पुन: अपस्फीति के रूप में कार्य करता है, किसी भी मौजूदा फ़िल्टर सेटिंग्स को बनाए रखता है।
चिह्न अनुकूलन
चूंकि विंडोज विस्टा और बाद के संस्करणों के लिए लक्षित आइकन (कंप्यूटिंग) में पीएनजी सबइमेज हो सकते हैं, इसलिए अनुकूलन उन पर भी लागू किया जा सकता है। कम से कम आइकन (कंप्यूटिंग), Pixelformer, ICO (फ़ाइल स्वरूप) फ़ाइलों को सहेजते हुए विशेष अनुकूलन पास करने में सक्षम है, जिससे उनका आकार कम हो जाता है। इस प्रकार फाइल औप्टिमाइजर (ऊपर उल्लिखित) ICO फ़ाइलों को भी संभाल सकता है।
Apple Icon प्रतिबिम्ब प्रारूप में पीएनजी सबइमेज भी हो सकते हैं, फिर भी ऐसा कोई उपकरण उपलब्ध नहीं है।
यह भी देखें
- कंप्यूटर ग्राफिक्स, सहित:
- प्रतिबिम्ब संपादन
- प्रतिबिम्ब फ़ाइल स्वरूप
- संबंधित ग्राफिक्स फ़ाइल स्वरूप
- एपीएनजी एनिमेटेड पीएनजी
- जेपीईजी नेटवर्क ग्राफिक्स (जेएनजी)
- एकाधिक-प्रतिबिम्ब नेटवर्क ग्राफ़िक्स (एमएनजी)
- समान फ़ाइल स्वरूप
- पोर्टेबल आइकन के लिए एक्स पिक्समैप
- स्केलेबल वेक्टर ग्राफिक्स
- वेब पी
व्याख्यात्मक नोट्स
- ↑ The filtering is used to increase the similarity to the data, hence increasing the compression ratio. However, there is theoretically no formula for similarity, nor absolute relationship between the similarity and compressor, thus unless the compression is done, one can't tell one filter set is better than another.
- ↑ Not only does advpng not support color reduction, it also fails on images with a reduced colorspace.
- ↑ 3.0 3.1 Use pngout -f6 to reuse previous filter set
संदर्भ
- ↑ 1.0 1.1 1.2 "ISO/IEC 15948:2004 – Information technology – Computer graphics and image processing – Portable Network Graphics (PNG): Functional specification". International Organization for Standardization. 3 March 2004. Retrieved 2011-02-19.
- ↑ 2.0 2.1 Roelofs, Greg (29 May 2010). "पीएनजी का इतिहास". libpng. Retrieved 2010-10-20.
- ↑ W3C 2003, 1 Scope.
- ↑ "ऑक्सफोर्ड एडवांस्ड लर्नर्स डिक्शनरी से पीएनजी संज्ञा की परिभाषा". Oxford Learner's Dictionaries. Retrieved 2018-01-21.
- ↑ "पोर्टेबल नेटवर्क ग्राफ़िक .PNG फ़ाइल विवरण". surferhelp.goldensoftware.com. Retrieved 2022-08-12.
- ↑ Roelofs, Greg. "Web Review: PNG's NOT GIF!". people.apache.org. Retrieved 2021-11-24.
- ↑ T. Boutell; et al. (March 1997). "पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता संस्करण 1.0". RFC 2083. IESG. sec. 3. doi:10.17487/RFC2083.
- ↑ "Registration of new Media Type image/png". IANA. 1996-07-27.
- ↑ Limer, Eric (2019-10-30). "जीआईएफ मर चुका है। लॉन्ग लिव जीआईएफ।". Popular Mechanics. Retrieved 2022-11-21.
- ↑ Roelofs 1999, Chapter 7. History of the Portable Network Graphics Format.
- ↑ 11.0 11.1 11.2 11.3 W3C 2003, 11.2.2
IHDRImage header - ↑ Roelofs, Greg (29 September 2011). "पोर्टेबल नेटवर्क ग्राफिक्स (पीएनजी) विनिर्देश और एक्सटेंशन". libpng. Retrieved August 15, 2021.
- ↑ "पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0". W3C. 1 October 1996. sec. 8.4.
PNG itself is strictly a single-image format. (...) In the future, a multiple-image format based on PNG may be defined. Such a format will be considered a separate file format
- ↑ Boutell, Thomas (1 October 1996). "पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) विशिष्टता 1.0".
{{cite journal}}: Cite journal requires|journal=(help) - ↑ W3C 2003, 5.2 PNG signature.
- ↑ W3C 2003, 5.3 Chunk layout.
- ↑ 17.0 17.1 Laphroaig, Manul (31 October 2017). पीओसी या जीटीएफओ. ISBN 9781593278984.
Each chunk consists of four parts: Length, a Chunk Type, the Chunk Data, and a 32-bit CRC. The Length is a 32-bit unsigned integer indicating the size of only the Chunk Data field
- ↑ Laphroaig, Manul (31 October 2017). - पीओसी या जीटीएफओ. ISBN 9781593278984.
Chunk Type is a 32-bit FourCC code such as IHDR, IDAT, or IEND.
{{cite book}}: Check|url=value (help) - ↑ W3C 2003, 11.2.4
IDATImage data. - ↑ W3C 2003, 11.2.5
IENDImage trailer. - ↑ W3C 2003, 11.3.3.3
iCCPEmbedded ICC profile. - ↑ Thomas Kopp (17 April 2008). "PNG Digital Signatures: Extension Specification".
- ↑ "Extensions to the PNG 1.2 Specification, version 1.5.0". ftp-osl.osuosl.org.
- ↑ W3C 2003, 11.3.3.2
gAMAImage gamma. - ↑ W3C 2003, 11.3.5.3
pHYsPhysical pixel dimensions. - ↑ W3C 2003, 11.3.3.4
sBITSignificant bits. - ↑ "PNG (Portable Network Graphics) Specification \ Version 1.0". w3.org. Retrieved 30 May 2022. 4.2.6. sBIT Significant bits, 13 bytes total - color type 2 and 3 totaled 6 bytes
- ↑ Roelofs 2003, Significant Bits (sBIT)"Grayscale images are the simplest; sBIT then contains a single byte indicating the number of significant bits in the source data"
- ↑ "PNG Specification: Chunk Specifications".
- ↑ "PNG News from 2006". Libpng.org.
- ↑ 31.0 31.1 "PNG Specification: Rationale". w3.org.
- ↑ W3C 2003, 9 Filtering.
- ↑ "Filter Algorithms". PNG Specification.
- ↑ Paeth, Alan W. (1991). Arvo, James (ed.). "छवि फ़ाइल संपीड़न आसान हो गया". Graphics Gems 2. Academic Press, San Diego: 93–100. doi:10.1016/B978-0-08-050754-5.50029-3. ISBN 0-12-064480-0. closed access publication – behind paywall
- ↑ Crocker, Lee Daniel (July 1995). "PNG: The Portable Network Graphic Format". Dr. Dobb's Journal. 20 (232): 36–44.
- ↑ "पीएनजी का परिचय". nuwen.net. Retrieved 2010-10-20.
- ↑ "Can I use... Support tables for HTML5, CSS3, etc". caniuse.com. Retrieved 2021-02-06.
- ↑ "iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps". mobilexweb.com. 2014-09-17. Retrieved 2014-09-24.
- ↑ scroggo (14 March 2017). "chromium / chromium / src / 7d2b8c45afc9c0230410011293cc2e1dbb8943a7". chromium.googlesource.com. Retrieved 31 March 2017.
- ↑ chrome-cron; et al. (27 March 2017). "chromium / chromium / src / 59.0.3047.0..59.0.3053.0". chromium.googlesource.com. Retrieved 31 March 2017.
- ↑ "Dev.Opera — What's new in Chromium 59 and Opera 46". dev.opera.com. Retrieved 2022-09-11.
- ↑ "Vote failed: APNG 20070405a". 20 April 2007. Archived from the original on 3 February 2008.
- ↑ "पीएनजी समूह एनीमेशन प्रस्ताव तुलना + परीक्षण-सॉफ्टवेयर". xs4all.nl. Archived from the original on 24 January 2009.
- ↑ 44.0 44.1 Deutsch, L. Peter; Gailly, Jean-Loup (May 1996). "rfc1950". datatracker.ietf.org. Retrieved 2021-08-18.
- ↑ Deutsch, L. Peter (May 1996). "rfc1951". datatracker.ietf.org. Retrieved 2021-08-18.
- ↑ "पीएनजी सुविधाओं का एक बुनियादी परिचय". Libpng.org. Retrieved 2010-10-20.
- ↑ "GIF, PNG, JPG. Which One To Use?". Sitepoint.com. 3 August 2009. Retrieved 2010-10-20.
- ↑ "Extensions to the PNG 1.2 Specification, Version 1.5.0". Retrieved 5 May 2020.
- ↑ "T.87 : Lossless and near-lossless compression of continuous-tone still images – Baseline". International Telecommunication Union. Retrieved 20 March 2011.
- ↑ 50.0 50.1 50.2 50.3 50.4 50.5 50.6 Roelofs 2003, Chapter 9. Compression and Filtering
- ↑ "libpng". Retrieved 2013-07-13.
- ↑ "डेटा प्रदर्शित करने के लिए PNG छवियों का उपयोग". Oregon Water Science Center. 16 February 2006.
- ↑ "जीएनयू वेब पेजों पर जीआईएफ फाइलें क्यों नहीं हैं I". GNU Operating System. 16 December 2008.
- ↑ "पीएनजी फैक्ट शीट". World Wide Web Consortium. 7 October 1996.
- ↑ "Resource page for gif2png 2.5.11". catb.org.
- ↑ "सभी जीआईएफ जलाएं". burnallgifs.org.
- ↑ "इंटरनेट एक्सप्लोरर में पीएनजी पारदर्शिता". PC Magazine. 5 October 2004.
- ↑ 58.0 58.1 58.2 58.3 58.4 "PNG समर्थन वाले ब्राउज़र". 14 March 2009.
- ↑ "जब मैं इसे देखने के लिए आतिशबाजी पीएनजी फ़ाइल पर क्लिक करता हूं तो विंडोज एक्सप्लोरर क्रैश हो जाता है". Adobe Systems. 5 June 2007.
- ↑ "Unable to view .png images with Internet Explorer 4.0". Microsoft Knowledge Base.
- ↑ "पीएनजी जो एक ऑब्जेक्ट टैग के अंदर एक नकारात्मक छवि के रूप में प्रिंट होते हैं". Microsoft Knowledge Base.
- ↑ "PNG Images Are Printed Improperly in Internet Explorer 5.01". Microsoft Knowledge Base.
- ↑ "You cannot view some PNG images in Internet Explorer 6". Microsoft Knowledge Base.
- ↑ "You cannot use Internet Explorer 6 to open a PNG file that contains one or more zero-length IDAT chunks". Microsoft Knowledge Base.
- ↑ "PNG Frequently Asked Questions".
- ↑ "PhD: Portable Network Graphics Lose Transparency in Web Browser". Microsoft Knowledge Base.
- ↑ "PNG फ़ाइलें Internet Explorer में पारदर्शिता नहीं दिखाती हैं". Microsoft Knowledge Base.
- ↑ Lovitt, Michael (21 December 2002). "Cross-Browser Variable Opacity with PNG: A Real Solution". A List Apart. Archived from the original on 18 August 2011. Retrieved 21 July 2009.
- ↑ "IE7 alpha transparent PNG + opacity". Channel 9. Archived from the original on 27 August 2011. Retrieved 23 January 2009.
- ↑ Fulbright, Michael (1999). "गनोम 1.0 लाइब्रेरी रोडमैप". Archived from the original on 30 January 2010. Retrieved 19 December 2007.
- ↑ "Windows Vista – Icons". OOne. 2007. Archived from the original on 11 November 2007. Retrieved 2007-11-12.
- ↑ "PNG एक हानिपूर्ण प्रारूप हो सकता है". Pngmini.com. Retrieved 2014-02-01.
अग्रिम पठन
- Roelofs, Greg (April 1997). "Linux Gazette: History of the Portable Network Graphics (PNG) Format". Linux Journal. Specialized Systems Consultants, Inc. 1997 (36es). ISSN 1075-3583.
- Roelofs, Greg (2003). PNG: The Definitive Guide (2nd ed.). O'Reilly Media. ISBN 1-56592-542-4.
- "Portable Network Graphics (PNG) Specification" (Second ed.). W3C. 10 November 2003.
बाहरी संबंध
- पीएनजी Home Site
- libpng Home Page
- The Story of पीएनजी by Greg Roelofs
- Test inline पीएनजी images
- RFC 2083
- More information about पीएनजी color correction
- The GD-library to generate dynamic पीएनजी-files with PHP
- पीएनजी Adam7 interlacing
- Encoding Web Shells in पीएनजी files: Encoding human readable data inside an IDAT block.