PNG

تُعدّ رسومات الشبكة المحمولة ( PNG ، التي تُنطق رسميًا / pɪŋ / بينغ ، [ 3 ] [ 4 ] وتُنطق عاميًا / ˌpiːɛnˈdʒiː / بي - إن - جي [ 5 ] ) تنسيق ملفات رسومات نقطية يدعم ضغط البيانات بدون فقدان . [ 6 ] وقد طُوّر تنسيق PNG كبديل مُحسّن وغير حاصل على براءة اختراع لتنسيق تبادل الرسومات ( GIF).

يدعم تنسيق PNG الصور المعتمدة على لوحة الألوان (بلوحات ألوان RGB ذات 24 بت أو RGBA ذات 32 بت )، والصور الرمادية (مع أو بدون قناة ألفا للشفافية)، والصور الملونة الكاملة غير المعتمدة على لوحة ألوان RGB أو RGBA. صمم فريق عمل PNG هذا التنسيق لنقل الصور عبر الإنترنت ، وليس لطباعة الرسومات بجودة احترافية؛ لذا، لا يدعم مساحات الألوان غير RGB مثل CMYK . يحتوي ملف PNG على صورة واحدة ضمن بنية قابلة للتوسيع من أجزاء ، تُشفّر وحدات البكسل الأساسية ومعلومات أخرى مثل التعليقات النصية وفحوصات السلامة الموثقة في RFC 2083. [ 7 ]

تتميز ملفات PNG بامتداد الملف ".png" ونوع الوسائط MIME "image/png" . [ 8 ] نُشرت PNG كمعيار RFC 2083 في مارس 1997، وكإصدار معياري ISO/IEC 15948:2004 في عام 2004. [ 1 ]

التاريخ والتطور

كان الدافع وراء ابتكار صيغة PNG هو الإعلان الصادر في 28 ديسمبر 1994 بأن تطبيقات صيغة تبادل الرسومات (GIF) ستضطر إلى دفع رسوم ترخيص لشركة يونيسيس بسبب براءة اختراعها لخوارزمية ضغط البيانات ليمبل-زيف-ويلش (LZW) المستخدمة في GIF. [ 9 ] وقد أدى ذلك إلى موجة من الانتقادات من مستخدمي يوزنت . وكان من بينهم توماس بوتيل، الذي نشر في 4 يناير 1995 موضوع نقاش تمهيدي على مجموعة أخبار يوزنت "comp.graphics" حيث وضع خطة لبديل مجاني لصيغة GIF. وقدّم مستخدمون آخرون في ذلك الموضوع العديد من المقترحات التي أصبحت فيما بعد جزءًا من صيغة الملف النهائية. واقترح أوليفر فروم، مؤلف برنامج عرض صور JPEG الشهير QPEG ، اسم PING، الذي أصبح فيما بعد PNG، وهو اختصار متكرر يعني أن PING ليس GIF ، [ 10 ] [ 11 ] وكذلك امتداد .png . تضمنت الاقتراحات الأخرى التي تم تطبيقها لاحقًا خوارزمية ضغط Deflate ودعم الألوان 24 بت ، كما أن افتقار تنسيق GIF لهذه الميزة حفّز الفريق على ابتكار تنسيق ملفاتهم الخاص. عُرفت المجموعة باسم "مجموعة تطوير PNG"، ومع توسع النقاش بسرعة، استخدمت لاحقًا قائمة بريدية مرتبطة بمنتدى CompuServe . [ 3 ] [ 12 ]

صدرت المواصفات الكاملة لصيغة PNG بموافقة اتحاد شبكة الويب العالمية (W3C) في 1 أكتوبر 1996، ثم لاحقًا كمعيار RFC 2083 في 15 يناير 1997. وتم تنقيح المواصفات في 31 ديسمبر 1998 لتصبح الإصدار 1.1، والذي عالج المشكلات التقنية المتعلقة بتصحيح جاما والألوان . أما الإصدار 1.2، الذي صدر في 11 أغسطس 1999، فقد أضاف جزء iTXt كتغيير وحيد في المواصفات، وصدرت نسخة مُعاد تنسيقها من الإصدار 1.2 كطبعة ثانية من معيار W3C في 10 نوفمبر 2003، [ 13 ] وكإصدار دولي ( ISO/IEC 15948:2004 ) في 3 مارس 2004. [ 14 ] [ 1 ]

على الرغم من أن صيغة GIF تسمح بالرسوم المتحركة ، فقد تقرر في البداية أن تكون صيغة PNG صيغةً للصورة الواحدة. [ 15 ] في عام 2001، نشر مطورو PNG صيغة رسومات الشبكة متعددة الصور (MNG)، مع دعم للرسوم المتحركة. حظيت MNG بدعم متوسط ​​من التطبيقات، لكنه لم يكن كافيًا بين متصفحات الويب الشائعة، ولم تُستخدم بين مصممي مواقع الويب أو ناشريها. في عام 2008، نشر بعض مطوري موزيلا صيغة رسومات الشبكة المحمولة المتحركة (APNG) بأهداف مماثلة. APNG هي صيغة مدعومة أصلاً من متصفحات الويب المبنية على Gecko و Presto ، وتُستخدم أيضًا بشكل شائع للصور المصغرة على نظام PlayStation Portable من سوني (باستخدام امتداد ملف PNG العادي). في عام 2017، اعتمدت المتصفحات المبنية على Chromium دعم APNG. في يناير 2020، أصبح Microsoft Edge مبنيًا على Chromium ، وبالتالي ورث دعم APNG. وبذلك، تدعم جميع المتصفحات الرئيسية الآن APNG.

تم تكليف فريق عمل PNG من قبل اتحاد شبكة الويب العالمية (W3C) منذ 14 سبتمبر 2021، بصيانة وتطوير مواصفات PNG. نُشرت النسخة الثالثة من مواصفات PNG، التي تُضيف الدعم الكامل لتقنية APNG ونطاق ديناميكي عالٍ (HDR) وبيانات Exif ، كأول مسودة عمل عامة في 25 أكتوبر 2022، [ 16 ] ثم كتوصية رسمية من W3C في 24 يونيو 2025. [ 17 ] [ 18 ]

مجموعة عمل بابوا غينيا الجديدة

تم وضع مواصفات PNG الأصلية من قبل مجموعة مخصصة من خبراء ومحبي رسومات الحاسوب . وقد جرت المناقشات والقرارات المتعلقة بهذا التنسيق عبر البريد الإلكتروني. المؤلفون الأصليون المذكورون في RFC 2083 هم: [ 19 ]

تنسيق الملف

صورة PNG معروضة باستخدام تطبيق محرر سداسي عشري لنظام أوبونتو

رأس الملف

يبدأ ملف PNG بتوقيع مكون من ثمانية بايتات [ 20 ] (انظر إلى صورة محرر السداسي العشري على اليمين):

القيم ( بالنظام الست عشري )غاية
89تم ضبط البت الأعلى للكشف عن أنظمة الإرسال التي لا تدعم بيانات 8 بت، ولتقليل احتمالية تفسير ملف نصي بشكل خاطئ على أنه ملف PNG، أو العكس.
50 4E 47في نظام ASCII ، تُستخدم الأحرف PNG ، مما يسمح للشخص بتحديد التنسيق بسهولة عند عرضه في محرر نصوص.
0D 0Aنهاية سطر بنمط نظام التشغيل DOS (CRLF) للكشف عن تحويل نهاية السطر من نظام التشغيل DOS إلى نظام التشغيل Unix للبيانات
1Aبايت يوقف عرض الملف في نظام DOS عند استخدام نوع الأمر - حرف نهاية الملف
0Aنهاية سطر بنمط يونكس (LF) للكشف عن تحويل نهاية السطر من يونكس إلى دوس

"أجزاء" داخل الملف

بعد رأس الملف، تأتي سلسلة من الأجزاء [ 21 ] ، يحمل كل منها معلومات محددة عن الصورة. تُصنّف الأجزاء إلى أجزاء أساسية وأخرى ثانوية ، ويمكن للبرنامج الذي يصادف جزءًا ثانويًا لا يفهمه تجاهله بأمان. صُممت بنية طبقة التخزين هذه، القائمة على الأجزاء، والمشابهة في مفهومها لتنسيق الحاويات أو تنسيق IFF الخاص بنظام Amiga ، للسماح بتوسيع تنسيق PNG مع الحفاظ على التوافق مع الإصدارات الأقدم - فهي توفر توافقًا مستقبليًا ، وتُستخدم بنية الملف نفسها (مع توقيع وأجزاء مختلفة) في تنسيقات MNG و JNG و APNG المرتبطة بها .

تتكون القطعة من أربعة أجزاء: الطول (4 بايت، [ 22 ] بترتيب البايتات الكبير )، ونوع/اسم القطعة (4 بايت [ 23 ] )، وبيانات القطعة (طول البايتات)، ورمز التحقق من التكرار الدوري ( CRC ؛ 4 بايت [ 22 ] ). يُحسب رمز التحقق من التكرار الدوري (CRC) بترتيب البايتات على الشبكة، ويُحسب على نوع القطعة وبياناتها، وليس على طولها.

طولنوع الكتلةبيانات الأجزاءCRC
4 بايت4 بايتبايتات الطول4 بايت

تُعطى أنواع البيانات المُجزأة اسمًا/نوعًا من أربعة أحرف حساسًا لحالة الأحرف في نظام ASCII؛ قارن FourCC . تُعدّ حالة الأحرف المختلفة في الاسم (البت 5 من القيمة العددية للحرف) حقلًا بتيًا يُزوّد ​​المُفكِّك ببعض المعلومات حول طبيعة البيانات المُجزأة التي لا يتعرّف عليها.

تُشير حالة الحرف الأول إلى ما إذا كانت القطعة أساسية أم لا. إذا كان الحرف الأول كبيرًا، فالقطعة أساسية؛ وإذا لم يكن كذلك، فالقطعة ثانوية. تحتوي القطع الأساسية على معلومات ضرورية لقراءة الملف. إذا صادف برنامج فك التشفير قطعة أساسية لا يتعرف عليها، فعليه إيقاف قراءة الملف أو تزويد المستخدم بتحذير مناسب.

يشير الحرف الثاني إلى ما إذا كانت الكتلة "عامة" (سواء في المواصفات أو سجل الكتل العامة ذات الأغراض الخاصة) أو "خاصة" (غير موحدة). الأحرف الكبيرة تعني عامة، والأحرف الصغيرة تعني خاصة. هذا يضمن عدم تعارض أسماء الكتل العامة والخاصة (مع إمكانية تعارض اسمي كتلتين خاصتين).

يجب أن يكون الحرف الثالث كبيرًا ليتوافق مع مواصفات PNG. وهو محجوز للتوسعات المستقبلية. ينبغي لبرامج فك التشفير التعامل مع أي جزء يحتوي على حرف ثالث صغير بنفس طريقة تعاملها مع أي جزء آخر غير معروف.

يشير الحرف الرابع إلى ما إذا كان من الآمن نسخ الجزء من الملف بواسطة برامج التحرير التي لا تتعرف عليه. إذا كان الحرف صغيرًا، فيمكن نسخ الجزء بأمان بغض النظر عن حجم التعديلات التي أُجريت على الملف. أما إذا كان الحرف كبيرًا، فلا يمكن نسخه إلا إذا لم تمس التعديلات أي أجزاء أساسية.

أجزاء حاسمة

يجب أن يكون برنامج فك التشفير قادراً على تفسير الأجزاء الأساسية لقراءة ملف PNG وعرضه.

  • IHDRيجب أن تكون هذه هي الكتلة الأولى؛ يبلغ طولها 13 بايت من البيانات وتحتوي (بهذا الترتيب) على الصورة
    • العرض (4 بايت)
    • الارتفاع (4 بايت)
    • عمق البت (بايت واحد، القيم 1، 2، 4، 8، أو 16) - كما هو مذكور في اتحاد شبكة الويب العالمية ، يُعرَّف عمق البت بأنه "عدد البتات لكل عينة أو لكل فهرس لوحة ألوان (وليس لكل بكسل)". [ 13 ]
    • نوع اللون (بايت واحد، القيم 0، 2، 3، 4، أو 6)
    • طريقة الضغط (بايت واحد، القيمة 0)
    • طريقة التصفية (بايت واحد، القيمة 0)
    • طريقة التداخل (بايت واحد، القيم 0 "بدون تداخل" أو 1 " تداخل Adam7 "). [ 13 ]
  • PLTEيحتوي على لوحة الألوان: قائمة بالألوان. هذا الجزء ضروري لنوع اللون 3 (اللون المفهرس). وهو اختياري لنوعي اللون 2 و6 (اللون الحقيقي واللون الحقيقي مع قناة ألفا)، ويجب ألا يظهر لنوعي اللون 0 و4 (تدرج الرمادي وتدرج الرمادي مع قناة ألفا).
  • IDATيحتوي على الصورة، والتي قد تُقسّم إلى عدة أجزاء IDAT. يؤدي هذا التقسيم إلى زيادة طفيفة في حجم الملف، ولكنه يُتيح إنشاء صورة PNG بطريقة متدفقة. يحتوي جزء IDAT على بيانات الصورة الفعلية، وهي دفق الإخراج لخوارزمية الضغط. [ 24 ]
  • IENDيشير إلى نهاية الصورة؛ حقل البيانات الخاص بجزء IEND يحتوي على 0 بايت/فارغ. [ 25 ]

أجزاء إضافية

تشمل سمات الصور الأخرى التي يمكن تخزينها في ملفات PNG قيم جاما ولون الخلفية ومعلومات البيانات الوصفية النصية . كما يدعم PNG إدارة الألوان من خلال تضمين ملفات تعريف ألوان ICC . [ 26 ]

  • bKGDيُعطي لون الخلفية الافتراضي. وهو مُخصّص للاستخدام عندما لا يتوفر خيار أفضل، كما هو الحال في عارضات الصور المستقلة (ولكن ليس في متصفحات الويب؛ انظر أدناه لمزيد من التفاصيل).
  • cHRMيعطي إحداثيات اللونية للألوان الأساسية للشاشة ونقطة اللون الأبيض .
  • cICPيحدد هذا المعيار مساحة اللون، ودالة النقل، ومعاملات المصفوفة كما هو محدد في معيار ITU-T H.273 . [ 27 ] وهو مصمم للاستخدام مع صور النطاق الديناميكي العالي (HDR) دون الحاجة إلى ملف تعريف لوني. [ 28 ]
  • dSIG[ 29 ]
  • eXIfيخزن بيانات Exif الوصفية . [ 30 ] [ 31 ]
  • gAMAيُحدد هذا الجزء قيمة جاما . يحتوي جزء جاما على 4 بايتات فقط، وتمثل قيمته قيمة جاما مضروبة في 100,000؛ على سبيل المثال، قيمة جاما 1/3.4 تُحسب لتكون 29411.7647059 ((1/3.4)*(100,000)) ويتم تحويلها إلى عدد صحيح (29412) للتخزين. [ 32 ]
  • hISTيمكن تخزين الرسم البياني، أو الكمية الإجمالية لكل لون في الصورة.
  • iCCPهو ملف تعريف ألوان ICC .
  • iTXtيحتوي على كلمة مفتاحية ونص UTF-8 ، مع ترميزات للضغط والترجمات المحتملة مُحددة بعلامة اللغة . تستخدم منصة البيانات الوصفية القابلة للتوسيع (XMP) هذه الكتلة مع الكلمة المفتاحية 'XML:com.adobe.xmp'.
  • pHYsيحتوي على حجم البكسل المقصود (أو نسبة عرض البكسل إلى ارتفاعه)؛ يحتوي pHYs على "بكسلات لكل وحدة، المحور X" (4 بايتات)، و"بكسلات لكل وحدة، المحور Y" (4 بايتات)، و"محدد الوحدة" (بايت واحد) ليصبح المجموع 9 بايتات. [ 33 ]
  • sBITتشير البتات المهمة إلى دقة ألوان البيانات المصدرية؛ ويحتوي هذا الجزء على ما بين 1 و5 بايتات، وذلك حسب نوع اللون. [ 34 ] [ 35 ] [ 36 ]
  • sPLTيقترح لوحة ألوان يمكن استخدامها في حال عدم توفر مجموعة الألوان الكاملة.
  • sRGBيشير ذلك إلى استخدام مساحة ألوان sRGB القياسية ؛ تحتوي كتلة sRGB على بايت واحد فقط، يُستخدم لـ "نية العرض" (تم تعريف 4 قيم - 0 و1 و2 و3 - لنية العرض). [ 37 ]
  • sTER[ 38 ]
  • tEXtيمكن تخزين نص متوافق مع معيار ISO/IEC 8859-1 ، حيث يُمثل كل جزء زوجًا واحدًا من المفتاح والقيمة . يجب أن يتراوح طول "المفتاح" بين حرف واحد و79 حرفًا. الفاصل هو حرف فارغ. يمكن أن يكون طول "القيمة" أي طول، بما في ذلك الصفر، وصولًا إلى الحد الأقصى المسموح به لحجم الجزء مطروحًا منه طول المفتاح والفاصل. لا يُسمح بوجود حرف فارغ في "المفتاح" أو "القيمة". كما يُمنع وجود مسافات في بداية أو نهاية النص.
  • tIMEيخزن الوقت الذي تم فيه تغيير الصورة آخر مرة.
  • tRNSيحتوي على معلومات الشفافية. بالنسبة للصور المفهرسة، يخزن قيم قناة ألفا لواحد أو أكثر من عناصر لوحة الألوان. أما بالنسبة للصور الملونة الحقيقية والصور الرمادية، فيخزن قيمة بكسل واحدة تُعتبر شفافة تمامًا.
  • zTXtيحتوي على نص مضغوط (وعلامة طريقة الضغط) بنفس حدود tEXt.

تنسيق البكسل

التركيبات المسموح بها لنوع اللون وعمق البت [ 13 ]
نوع اللونالقنواتعدد البتات لكل قناة
124816
مفهرس11248
تدرج الرمادي1124816
تدرج الرمادي و ألفا21632
ألوان حقيقية32448
الألوان الحقيقية وقناة ألفا43264

تمثل وحدات البكسل في صور PNG أرقامًا قد تكون مؤشرات لبيانات العينة في لوحة الألوان أو بيانات العينة نفسها. لوحة الألوان عبارة عن جدول منفصل ضمن جزء PLTE. تتكون بيانات العينة لكل بكسل من مجموعة من رقم واحد إلى أربعة أرقام. سواءً كانت بيانات البكسل تمثل مؤشرات لوحة الألوان أو قيم عينة صريحة، تُسمى هذه الأرقام قنوات ، ويتم ترميز كل رقم في الصورة بتنسيق متطابق.

تُشفّر الصيغ المسموح بها كل رقم كقيمة عددية صحيحة غير مُوقّعة باستخدام عدد ثابت من البتات، يُشار إليه في مواصفات PNG باسم عمق البت . لاحظ أن هذا يختلف عن عمق اللون ، الذي يُستخدم عادةً للإشارة إلى إجمالي عدد البتات في كل بكسل، وليس في كل قناة. يُلخّص الجدول أعماق البت المسموح بها إلى جانب إجمالي عدد البتات المستخدمة لكل بكسل.

يعتمد عدد القنوات على ما إذا كانت الصورة رمادية أم ملونة، وما إذا كانت تحتوي على قناة ألفا . يسمح تنسيق PNG بمجموعات القنوات التالية، والتي تُسمى نوع اللون .

0 (000 2 )تدرج الرمادي
2 (010 2 )الأحمر والأخضر والأزرق: rgb/truecolor
3 (011 2 )مفهرس: قناة تحتوي على فهارس في لوحة ألوان
4 (100 2 )تدرج الرمادي و ألفا: مستوى الشفافية لكل بكسل
6 (110 2 )الأحمر والأخضر والأزرق وألفا

يُحدد نوع اللون كقيمة من 8 بت، ولكن تُستخدم البتات الثلاثة الأقل أهمية فقط، وحتى في هذه الحالة، لا يُسمح إلا بالتركيبات الخمس المذكورة أعلاه. طالما أن نوع اللون صالح، يمكن اعتباره حقل بت كما هو مُلخص في الجدول المجاور.

أنواع ألوان PNG
نوع اللوناسمثنائيالكمامات
 أجP
0تدرج الرمادي0000 
2ألوان حقيقية0010لون
3مفهرس0011اللون، لوحة الألوان
4تدرج الرمادي و ألفا0100ألفا
6الألوان الحقيقية وقناة ألفا0110ألفا، لون
  • القيمة الثنائية 1: تخزن بيانات الصورة مؤشرات لوحة الألوان. هذا صحيح فقط عند اقترانه بالقيمة الثنائية 2؛
  • القيمة الثنائية 2: تحتوي عينات الصورة على ثلاث قنوات لتشفير البيانات بالألوان ثلاثية الألوان ، وإلا فإن عينات الصورة تحتوي على قناة واحدة لتشفير البيانات بالسطوع النسبي .
  • القيمة البتية 4: تحتوي عينات الصورة أيضًا على قناة ألفا مُعبر عنها كمقياس خطي لشفافية البكسل. هذا غير صالح مع القيمة البتية 1.

في الصور الملونة المفهرسة، تخزن لوحة الألوان دائمًا الألوان الثلاثية بعمق 8 بت لكل قناة (24 بت لكل عنصر في اللوحة). بالإضافة إلى ذلك، يمكن تضمين قائمة اختيارية بقيم ألفا 8 بت لعناصر اللوحة؛ إذا لم تُضمّن، أو إذا كانت أقصر من اللوحة، يُفترض أن عناصر اللوحة المتبقية معتمة. يجب ألا تحتوي اللوحة على عناصر أكثر مما يسمح به عمق بت الصورة، ولكن يمكن أن تحتوي على عدد أقل (على سبيل المثال، إذا كانت الصورة ذات وحدات بكسل 8 بت تستخدم 90 لونًا فقط، فلن تحتاج إلى عناصر لوحة لجميع الألوان الـ 256). يجب أن تحتوي اللوحة على عناصر لجميع قيم البكسل الموجودة في الصورة.

يسمح المعيار لصور PNG الملونة المفهرسة بأن تحتوي على 1 أو 2 أو 4 أو 8 بتات لكل بكسل؛ أما الصور الرمادية التي لا تحتوي على قناة ألفا، فيمكن أن تحتوي على 1 أو 2 أو 4 أو 8 أو 16 بتًا لكل بكسل. تستخدم جميع الصور الأخرى عمق بت لكل قناة إما 8 أو 16 بتًا. تُوضح التوليفات المتاحة في الجدول أعلاه. يشترط المعيار أن تكون برامج فك التشفير قادرة على قراءة جميع تنسيقات الألوان المدعومة، ولكن العديد من برامج تحرير الصور لا تدعم سوى مجموعة فرعية صغيرة منها.

شفافية الصورة

يُتيح تنسيق PNG خياراتٍ مُتعددة للشفافية. ففي الصور ذات الألوان الحقيقية والصور الرمادية، يُمكن تحديد قيمة بكسل واحد كشفاف، أو إضافة قناة ألفا (مما يُتيح استخدام أي نسبة من الشفافية الجزئية). أما في الصور المُلوّنة، فيُمكن إضافة قيم ألفا إلى عناصر لوحة الألوان. وقد يكون عدد هذه القيم المُخزّنة أقل من إجمالي عدد عناصر لوحة الألوان، وفي هذه الحالة تُعتبر العناصر المتبقية مُعتمة تمامًا.

يُفترض إجراء مسح قيم البكسل للتحقق من الشفافية الثنائية قبل أي عملية تقليل للألوان لتجنب تحول البكسلات إلى شفافة بشكل غير مقصود. ومن المرجح أن يُشكل هذا مشكلة للأنظمة التي تستطيع فك تشفير صور ذات 16 بت لكل قناة (كما هو مطلوب للامتثال للمواصفات) ولكنها تُخرج صورًا بـ 8 بت لكل قناة فقط (وهو المعيار في جميع الأنظمة باستثناء الأنظمة المتطورة للغاية).

يمكن تخزين قيمة ألفا إما "مرتبطة" (" مضروبة مسبقًا ") أو "غير مرتبطة"، لكن معيار PNG [ 39 ] يعتمد على ألفا "غير المرتبطة" ("غير المضروبة مسبقًا")، مما يعني أن الصور لا تُشفّر باستخدام ألفا ؛ فالانبعاثات المُمثلة في RGB ليست هي الانبعاثات على مستوى البكسل. هذا يعني أن عملية الضرب ستضرب انبعاثات RGB في قيمة ألفا، ولن تتمكن من تمثيل الانبعاث والحجب بشكل صحيح.

ضغط

تستخدم صيغة PNG عملية ضغط على مرحلتين:

  • الضغط المسبق: الترشيح (التنبؤ)
  • الضغط: تفريغ

تستخدم صيغة PNG خوارزمية DEFLATE ، وهي خوارزمية ضغط بيانات غير مسجلة ببراءة اختراع، تعتمد على مزيج من ترميز LZ77 وترميز هوفمان . وتتوفر تطبيقات DEFLATE المرخصة بشكل مفتوح ، مثل zlib ، على نطاق واسع.

بالمقارنة مع التنسيقات التي تستخدم ضغطًا مع فقدان البيانات ، مثل JPEG، فإن اختيار إعدادات ضغط أعلى يمكن أن يبطئ المعالجة دون تقليل حجم الملف بشكل كبير.

تصفية

يمكن لطريقة التصفية 0 في PNG استخدام البيانات الموجودة في البكسلات A و B و C للتنبؤ بقيمة X.
صورة بصيغة PNG تحتوي على 256 لونًا، ويبلغ حجمها 251 بايت فقط بعد تطبيق التصفية المسبقة. أما الصورة نفسها بصيغة GIF فسيكون حجمها أكبر بأكثر من ثلاثة عشر ضعفًا.

قبل تطبيق DEFLATE، تُحوّل البيانات باستخدام طريقة تنبؤية: تُستخدم طريقة ترشيح واحدة للصورة بأكملها، بينما يُختار نوع ترشيح لكل سطر من الصورة لتحويل البيانات وجعلها أكثر قابلية للضغط بكفاءة أكبر. [ 40 ] يُضاف نوع الترشيح المستخدم لسطر المسح إلى بداية سطر المسح لتمكين فك الضغط المباشر.

لا توجد سوى طريقة تصفية واحدة في مواصفات PNG الحالية (يُشار إليها بالطريقة 0)، وبالتالي عمليًا، الخيار الوحيد هو نوع التصفية المراد تطبيقه على كل سطر. في هذه الطريقة، يتنبأ التصفية بقيمة كل بكسل بناءً على قيم البكسلات المجاورة السابقة، ويطرح اللون المتوقع للبكسل من قيمته الفعلية، كما هو الحال في DPCM . غالبًا ما يكون سطر الصورة المُصفّى بهذه الطريقة أكثر قابلية للضغط من سطر الصورة الخام، خاصةً إذا كان مشابهًا للسطر أعلاه، لأن الاختلافات عن التوقع ستتركز عمومًا حول الصفر، بدلًا من أن تنتشر على جميع قيم الصورة الممكنة. يُعد هذا الأمر بالغ الأهمية عند ربط الصفوف المنفصلة، ​​لأن DEFLATE لا يُدرك أن الصورة كيان ثنائي الأبعاد، بل يرى بيانات الصورة كسلسلة من البايتات.

يوجد خمسة أنواع من المرشحات لطريقة الترشيح 0؛ يتنبأ كل نوع بقيمة كل بايت (من بيانات الصورة قبل الترشيح) بناءً على البايت المقابل للبكسل الموجود على اليسار ( A )، والبكسل الموجود أعلى ( B )، والبكسل الموجود أعلى ويسار ( C )، أو مزيج منها، ويُشفّر الفرق بين القيمة المتوقعة والقيمة الفعلية. تُطبّق المرشحات على قيم البايتات، وليس على البكسلات؛ قد تكون قيم البكسل بايتًا واحدًا أو اثنين، أو عدة قيم لكل بايت، ولكنها لا تتجاوز حدود البايتات أبدًا. أنواع المرشحات هي: [ 41 ]

نوع بايتاسم الفلترالقيمة المتوقعة
0لا أحدصفر (بحيث تمر قيمة البايت الخام دون تغيير)
1فرعيالبايت أ (إلى اليسار)
2أعلىالبايت ب (أعلاه)
3متوسطمتوسط ​​البايتات A و B ، مقربًا إلى أقرب عدد صحيح أصغر.
4بيثأ ، أو ب ، أو ج ، أيهما أقرب إلى p = أ + بج

يعتمد مرشح بايث على خوارزمية من تأليف آلان دبليو بايث . [ 42 ] قارن بإصدار DPCM المستخدم في JPEG بدون فقدان ، وبتحويل المويجات المنفصلة باستخدام نوافذ 1 × 2 أو 2 × 1 أو (بالنسبة لمتنبئ بايث) نوافذ 2 × 2 ومويجات هار .

يتحسن الضغط بشكل أكبر من خلال اختيار أنواع المرشحات بشكل تكيفي على أساس كل سطر على حدة. وقد ابتكر لي دانيال كروكر هذا التحسين، بالإضافة إلى طريقة استدلالية لتنفيذه شائعة الاستخدام في برامج كتابة ملفات PNG، حيث اختبر هذه الطرق على العديد من الصور أثناء إنشاء هذا التنسيق؛ [ 43 ] ويُعد اختيار المرشح أحد مكونات تحسين حجم الملف، كما سيتم توضيحه لاحقًا.

إذا تم استخدام التشابك، يتم ترشيح كل مرحلة من مراحل التشابك بشكل منفصل، مما يعني أنه يمكن عرض الصورة تدريجياً مع استقبال كل مرحلة؛ ومع ذلك، فإن التشابك يجعل الضغط أقل فعالية بشكل عام.

التشابك

رسم توضيحي لـ Adam7 متداخل على صورة بحجم 16×16

يُتيح تنسيق PNG خيارًا لتقنية التداخل ثنائية الأبعاد ذات 7 تمريرات، وهي خوارزمية Adam7 . تُعدّ هذه الخوارزمية أكثر تطورًا من تقنية GIF أحادية الأبعاد ذات 4 تمريرات، وتسمح بظهور صورة أكثر وضوحًا منخفضة الدقة في وقت مبكر من عملية النقل، خاصةً عند استخدام خوارزميات الاستيفاء مثل الاستيفاء ثنائي التكعيب . [ 44 ]

ومع ذلك، فإن مخطط المرور ذي السبع مراحل يميل إلى تقليل قابلية ضغط البيانات أكثر من المخططات الأبسط.

الرسوم المتحركة

ملف APNG (صورة PNG متحركة) (يُعرض كصورة ثابتة في بعض متصفحات الويب )

لا يدعم تنسيق PNG الأساسي الرسوم المتحركة. أما MNG فهو امتداد لـ PNG يدعمها، وقد صممه أعضاء مجموعة PNG. يشترك MNG مع PNG في البنية الأساسية والأجزاء، ولكنه أكثر تعقيدًا بكثير وله توقيع ملف مختلف، مما يجعله غير متوافق تلقائيًا مع برامج فك تشفير PNG القياسية. هذا يعني أن معظم متصفحات الويب والتطبيقات إما لم تدعم MNG أبدًا أو تخلت عن دعمه.

أدى تعقيد تنسيق MNG إلى اقتراح تنسيق APNG من قِبل مطوري مؤسسة موزيلا. يعتمد APNG على تنسيق PNG، ويدعم الرسوم المتحركة، وهو أبسط من MNG. يوفر APNG خيار عرض صورة واحدة كخيار احتياطي لبرامج فك تشفير PNG التي لا تدعم APNG. اليوم، يدعم تنسيق APNG جميع متصفحات الويب الرئيسية. [ 45 ] يدعم APNG متصفح Firefox 3.0 والإصدارات الأحدث، و Pale Moon (جميع الإصدارات)، و Safari 8.0 والإصدارات الأحدث. [ 46 ] أضاف Chromium 59.0 دعم APNG، [ 47 ] [ 48 ] تبعه Google Chrome. دعم Opera تنسيق APNG في الإصدارات من 10 إلى 12.1، لكن الدعم توقف في الإصدار 15 عند التحول إلى محرك عرض Blink ؛ ثم أُعيدت إضافة الدعم في Opera 46 (موروث من Chromium 59). [ 49 ] يدعم متصفح Microsoft Edge تقنية APNG منذ الإصدار 79.0، عندما تحول إلى محرك يعتمد على Chromium.

قررت مجموعة PNG في أبريل 2007 عدم تبني APNG. [ 50 ] ونوقشت عدة بدائل، منها ANG وaNIM/mPNG و"PNG in GIF" ومجموعتها الفرعية "RGBA in GIF". [ 51 ] إلا أن APNG هي الوحيدة التي تحظى حاليًا بدعم واسع النطاق.

مع إصدار النسخة الثالثة من مواصفات PNG في يونيو 2025، والتي تتولى صيانتها الآن مجموعة عمل PNG، [ 16 ] تم دمج APNG أخيرًا في المواصفات كامتداد. [ 52 ]

أمثلة

بنية ملف PNG بسيط للغاية
89 50 4E 47 0D 0A 1A 0Aتوقيع PNGIHDRرأس الصورةIDATبيانات الصورةIENDنهاية الصورة
محتويات ملف PNG بسيط يمثل بكسلًا أحمر واحدًا
عرافةكشخصيات

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 00 01 00 00 00 01 08 02 00 00 00 90 77 53 DE 00 00 00 0C 49 44 41 54 08 D7 63 F8 CF C0 00 00 03 01 01 00 18 DD 8D B0 00 00 00 00 49 45 4E 44 AE 42 60 82

.PNG.... ....IHDR ..............wS . ....IDAT..c.... ......... ....IEN D.B`.

IHDR Chunk
إزاحة إلى جزءالقيمة السداسية عشريةالقيمة العشريةنصمعنى
00x0D13تحتوي كتلة IHDR على 13 بايت من المحتوى
40x49484452IHDRيحدد جزءًا من رأس الصفحة
80x011عرض الصورة بكسل واحد
120x011يبلغ ارتفاع الصورة بكسلًا واحدًا
160x0888 بت لكل بكسل (لكل قناة)
170x022نوع اللون 2 (RGB/اللون الحقيقي)
180x000طريقة الضغط 0 (القيمة المقبولة الوحيدة)
190x000طريقة التصفية 0 (القيمة المقبولة فقط)
200x000غير متداخل
210x907753DECRC لنوع الجزء ومحتواه (ولكن ليس طوله)
جزء IDAT
إزاحة إلى جزءالقيمة السداسية عشريةمعنى
00x0Cتحتوي كتلة IDAT على 12 بايت من المحتوى
40x49444154يحدد جزءًا من البيانات
80x08طريقة ضغط DEFLATE باستخدام نافذة 256 بايت [ 53 ]
90xD7قيمة ZLIB FCHECK، لم يتم استخدام قاموس، خوارزمية الضغط القصوى [ 53 ]
100x63F8CFC00000كتلة DEFLATE مضغوطة باستخدام رمز هوفمان الثابت الذي يتم فك تشفيره إلى 0x00 0xFF 0x00 0x00 [ 54 ]
160x03010100قيمة التحقق ZLIB: مجموع التحقق Adler-32 للبيانات غير المضغوطة [ 53 ]
200x18DD8DB0CRC لنوع الجزء ومحتواه (ولكن ليس طوله)

يُعرض الملف على غرار محررات النصوص السداسية العشرية ، حيث تظهر قيم البايتات على الجانب الأيسر بصيغة سداسية عشرية ، بينما تظهر الأحرف المكافئة لها من معيار ISO-8859-1 على الجانب الأيمن ، مع استبدال الأحرف غير المعروفة وأحرف التحكم بنقاط. يُمثل الإزاحتان 8 و9 من كتلة IDAT رأس البيانات المطلوب (2 بايت) لتنسيق بيانات zlib. أما الإزاحة 16 (من الكتلة نفسها) فتمثل تذييل البيانات المطلوب (4 بايت) لنفس التنسيق. بالإضافة إلى ذلك، تم تمييز توقيع PNG والأجزاء الفردية بألوان مختلفة. تجدر الإشارة إلى سهولة التعرف عليها بفضل أسماء أنواعها المقروءة (في هذا المثال: PNG وIHDR وIDAT وIEND).

المزايا

أسباب استخدام صيغة PNG:

  • قابلية النقل : الإرسال مستقل عن منصة البرامج والأجهزة.
  • الاكتمال : من الممكن تمثيل الصور بالألوان الحقيقية، والصور ذات الألوان المفهرسة، والصور الرمادية.
  • التشفير وفك التشفير على التوالي : يسمح للمستخدمين بإنشاء وقراءة تدفقات البيانات على التوالي، أي أن تنسيق تدفق البيانات يستخدم لإنشاء وعرض الصور في الوقت الحالي من خلال الاتصال التسلسلي.
  • العرض التدريجي : القدرة على نقل تدفقات البيانات التي تمثل في البداية تقريبًا للصورة بأكملها، وتتحسن تدريجيًا مع استقبال تدفق البيانات.
  • سلامة نقل الأخطاء : يكتشف أخطاء نقل البيانات بشكل صحيح.
  • عدم فقدان البيانات : لا يوجد فقدان للبيانات: فالفلترة والضغط يحافظان على جميع المعلومات.
  • الكفاءة : تسعى أي عملية عرض وضغط وتصفية للصور التدريجية إلى فك التشفير والعرض بكفاءة.
  • الضغط : يمكن ضغط الصور بكفاءة وبشكل متسق.
  • سهولة التطبيق : تطبيق المعيار سهل.
  • قابلية التبادل : أي برنامج فك تشفير PNG يتبع المعايير يمكنه قراءة جميع تدفقات بيانات PNG.
  • المرونة : تسمح بالتوسعات المستقبلية والإضافات الخاصة دون التأثير على النقطة السابقة.
  • حرية القيود القانونية : الخوارزميات المستخدمة مجانية ومتاحة للجميع.

مقارنة مع تنسيقات الملفات الأخرى

تنسيق تبادل الرسومات (GIF)

  • في الصور الصغيرة، يمكن لملفات GIF تحقيق ضغط أكبر من ملفات PNG (انظر القسم الخاص بحجم الملف أدناه).
  • في معظم الصور، باستثناء الحالة المذكورة أعلاه، يكون حجم ملف GIF أكبر من حجم صورة PNG المفهرسة.
  • يوفر تنسيق PNG نطاقًا أوسع بكثير من خيارات الشفافية مقارنةً بتنسيق GIF، بما في ذلك شفافية قناة ألفا .
  • بينما يقتصر تنسيق GIF على الألوان المفهرسة ذات 8 بت ، فإن تنسيق PNG يوفر نطاقًا أوسع بكثير من أعماق الألوان، بما في ذلك الألوان الحقيقية ذات 24 بت (8 بت لكل قناة) و48 بت (16 بت لكل قناة) ، مما يسمح بدقة ألوان أكبر، وتلاشي أكثر سلاسة، وما إلى ذلك. [ 55 ] عند إضافة قناة ألفا، يصبح من الممكن الوصول إلى 64 بت لكل بكسل (قبل الضغط).
  • عند تحويل صورة من تنسيق PNG إلى GIF، قد تتأثر جودة الصورة بسبب ظاهرة التدرج اللوني إذا كانت صورة PNG تحتوي على أكثر من 256 لونًا.
  • يدعم تنسيق GIF الصور المتحركة بشكل أساسي. أما تنسيق PNG فيدعم الرسوم المتحركة فقط عبر ملحقات (انظر القسم الخاص بالرسوم المتحركة أعلاه).

لا تحظى صور PNG بدعم واسع النطاق من المتصفحات القديمة. وعلى وجه الخصوص، فإن متصفح IE6 لديه دعم محدود لصور PNG. [ 56 ]

JPEG

صورة مركبة تقارن بين الضغط مع فقدان البيانات في JPEG والضغط بدون فقدان البيانات في PNG: يمكن أن تكون تشوهات JPEG مرئية بسهولة في خلفية هذا النوع من بيانات الصور، حيث أن صورة PNG لها لون ثابت.

يُمكن لتنسيق JPEG (مجموعة خبراء التصوير المشتركة) إنتاج ملفات أصغر حجمًا من تنسيق PNG للصور الفوتوغرافية (والصور الشبيهة بالصور الفوتوغرافية)، نظرًا لاستخدامه طريقة ضغط مع فقدان البيانات مصممة خصيصًا لبيانات الصور الفوتوغرافية، والتي عادةً ما تتميز بانتقالات ناعمة ومنخفضة التباين، بالإضافة إلى قدر من التشويش أو هياكل غير منتظمة مماثلة. استخدام PNG بدلًا من JPEG عالي الجودة لمثل هذه الصور سيؤدي إلى زيادة كبيرة في حجم الملف مع تحسن طفيف في الجودة. في المقابل، عند تخزين الصور التي تحتوي على نصوص أو رسومات خطية أو صور بيانية - أي الصور ذات الانتقالات الحادة والمساحات الكبيرة ذات اللون الواحد - يُمكن لتنسيق PNG ضغط بيانات الصورة بشكل أكبر من JPEG. علاوة على ذلك، لا يُسبب تنسيق PNG فقدانًا للبيانات، بينما يُنتج JPEG تشوهات بصرية حول المناطق عالية التباين. (تعتمد هذه التشوهات على الإعدادات المستخدمة في ضغط JPG؛ وقد تكون ملحوظة جدًا عند استخدام إعداد منخفض الجودة [ضغط عالٍ]). عندما تحتوي الصورة على كلٍ من الانتقالات الحادة والأجزاء الفوتوغرافية، يجب الاختيار بين التأثيرين. لا يدعم تنسيق JPEG الشفافية.

يعاني ضغط JPEG، الذي يُفقد بعض البيانات، من فقدان الجودة ، حيث يؤدي فك تشفير الصورة وإعادة تشفيرها بشكل متكرر لحفظها إلى فقدان بعض المعلومات في كل مرة، مما يُؤدي إلى تدهور جودة الصورة. ولأن PNG لا يُفقد أي بيانات، فهو مناسب لتخزين الصور المراد تعديلها. ورغم أن PNG فعال إلى حد ما في ضغط الصور الفوتوغرافية، إلا أن هناك صيغ ضغط لا تُفقد فيها البيانات مصممة خصيصًا للصور الفوتوغرافية، مثل WebP و Adobe DNG (النيجاتيف الرقمي). مع ذلك، فإن هذه الصيغ إما غير مدعومة على نطاق واسع، أو أنها حصرية. يمكن تخزين الصورة دون فقدان أي بيانات وتحويلها إلى صيغة JPEG فقط للتوزيع، وبالتالي لا يحدث أي فقدان في الجودة.

على الرغم من أن مواصفات PNG لا تتضمن صراحةً معيارًا لتضمين بيانات صور Exif من مصادر مثل الكاميرات الرقمية، فإن الطريقة المفضلة لتضمين بيانات EXIF ​​في صورة PNG هي استخدام تسمية الجزء المساعد غير الحرج eXIf. [ 57 ]

لم تكن متصفحات الويب القديمة تدعم صور PNG؛ وكانت صيغتا JPEG وGIF هما الصيغتان الرئيسيتان. شاع استخدام JPEG عند تصدير الصور التي تحتوي على تدرجات لونية لصفحات الويب، نظرًا لمحدودية عمق ألوان GIF. مع ذلك، يتسبب ضغط JPEG في تشويش التدرج اللوني قليلًا. أما صيغة PNG، فتعيد إنتاج التدرج اللوني بأكبر قدر ممكن من الدقة لعمق بت معين، مع الحفاظ على صغر حجم الملف. أصبحت PNG الخيار الأمثل لصور التدرجات اللونية الصغيرة مع تحسن دعم متصفحات الويب لهذه الصيغة. لا حاجة إلى صور لعرض التدرجات اللونية في المتصفحات الحديثة، إذ يمكن إنشاء التدرجات باستخدام CSS .

JPEG-LS

يُعدّ JPEG-LS تنسيق صور من ابتكار مجموعة خبراء التصوير المشتركة ، إلا أنه أقل شهرةً ودعمًا بكثير من تنسيق JPEG المضغوط الآخر المذكور سابقًا. وهو يُقارن مباشرةً بتنسيق PNG، وله مجموعة قياسية من صور الاختبار. [ 58 ] في مجموعة Waterloo Repertoire ColorSet، وهي مجموعة قياسية من صور الاختبار (لا علاقة لها بمجموعة اختبار توافق JPEG-LS)، يتفوق أداء JPEG-LS عمومًا على PNG بنسبة 10-15%، ولكن في بعض الصور، يتفوق PNG بشكل ملحوظ، بنسبة تتراوح بين 50-75%. [ 59 ] لذا، إذا كان كلا التنسيقين متاحين وكان حجم الملف معيارًا مهمًا، فينبغي النظر فيهما معًا، حسب الصورة.

JPEG XL

يُعدّ JPEG XL تنسيقًا آخر مُحسّنًا للغاية، يدعم ضغط البيانات مع أو بدون فقدانها، ولكنه أقل انتشارًا، وقد طُوّر ليحل محل التنسيقات التي لا تفقد البيانات مثل PNG. [ 60 ] حجم JPEG XL أصغر بنسبة تزيد عن 50% من حجم JPEG، وهذا ممكن حتى مع كونه لا يفقد البيانات، مما يجعله أصغر حجمًا من PNG. [ 61 ] كما يدعم نطاقًا ديناميكيًا عاليًا ، ونطاقات ألوان واسعة ، وعمقًا لونيًا كبيرًا . [ 62 ] يتميز JPEG XL أيضًا بكفاءة عالية في فك التشفير، ويوفر انتقالات سلسة من التنسيقات التي يُراد استبدالها، مع إمكانية التحويل من JPEG دون فقدان البيانات. كما أنه يتفوق في الضغط دون المساس بجودة الصورة. [ 63 ]

شجار

تنسيق ملف الصور الموسومة (TIFF) هو تنسيق يضم نطاقًا واسعًا للغاية من الخيارات. ورغم أن هذا يجعله مفيدًا كتنسيق عام لتبادل البيانات بين تطبيقات تحرير الصور الاحترافية، إلا أنه يجعل إضافة دعمه إلى التطبيقات مهمةً بالغة الصعوبة، ولذا فهو يحظى بدعم محدود في التطبيقات غير المعنية بمعالجة الصور (مثل متصفحات الويب). كما أن قابليته العالية للتوسع تعني أن معظم التطبيقات لا توفر سوى مجموعة فرعية من الميزات الممكنة، مما قد يُسبب ارتباكًا لدى المستخدمين ومشاكل في التوافق.

تُعدّ خوارزمية ليمبل-زيف-ويلش (LZW) أكثر خوارزميات الضغط العامة غير الفاقد للبيانات شيوعًا في صيغة TIFF . وكانت هذه التقنية، المستخدمة أيضًا في صيغة GIF، محمية ببراءات اختراع حتى عام 2003. كما تدعم صيغة TIFF خوارزمية الضغط المستخدمة في صيغة PNG (أي Compression Tag 0008 16 ' Adobe -style') بشكل متوسط، وتحظى بدعم من التطبيقات. وتوفر صيغة TIFF أيضًا خوارزميات ضغط خاصة غير فاقد للبيانات، مثل CCITT Group IV ، التي تُحسّن ضغط الصور ثنائية المستوى (مثل الفاكسات أو النصوص بالأبيض والأسود) بشكل أفضل من خوارزمية الضغط في صيغة PNG.

يدعم تنسيق PNG ألفا غير المضروب مسبقًا فقط [ 39 ] بينما يدعم تنسيق TIFF أيضًا ألفا "المرتبطة" (المضروبة مسبقًا).

WebP

WebP هو تنسيق ابتكرته جوجل بهدف استبدال تنسيقات PNG وJPEG وGIF. [ 64 ] تسمح ملفات WebP بالضغط مع فقدان البيانات وبدون فقدانها، بينما يقتصر تنسيق PNG على الضغط بدون فقدان البيانات. كما يدعم WebP الرسوم المتحركة، وهي ميزة كانت حصرية لملفات GIF سابقًا. [ 65 ]

لكنّ التحسينات الرئيسية التي يُقدّمها تنسيق WebP مقارنةً بتنسيق PNG تكمن في انخفاض حجم الملف بشكل كبير، وبالتالي سرعة تحميله عند تضمينه في مواقع الويب. وتزعم جوجل أن صور WebP غير المضغوطة أصغر بنسبة 26% من ملفات PNG. [ 66 ]

تعرض تنسيق WebP لانتقادات بسبب عدم توافقه مع العديد من برامج تحرير الصور ومواقع التواصل الاجتماعي، على عكس تنسيق PNG. [ 67 ] كما أن WebP غير مدعوم في جميع متصفحات الويب، مما قد يُجبر مواقع استضافة الصور على إنشاء صورة بديلة لعرضها للمستخدم، وهو ما يُلغي إمكانية توفير مساحة التخزين التي يوفرها WebP. [ 65 ]

أفيف

AVIF هو تنسيق صور طورته مؤسسة Alliance for Open Media . وقد صممت المؤسسة AVIF لمعالجة أوجه القصور في برامج ترميز الصور الأخرى، بما في ذلك PNG و GIF و WebP . [ 68 ]

يتميز تنسيق AVIF عمومًا بصغر حجمه مقارنةً بتنسيقي WebP وPNG. [ 69 ] كما يدعم AVIF الرسوم المتحركة، بينما لم يكن يدعمها تنسيق PNG سابقًا. [ 70 ]

ومع ذلك، مثل WebP، فإن AVIF مدعوم في عدد أقل من التطبيقات مقارنة بـ PNG. [ 70 ]

دعم البرامج

يُعدّ تطبيق libpng المرجع الرسمي لتنسيق PNG . [ 71 ] وهو منشور كبرنامج مجاني بموجب ترخيص برمجيات حرة متساهل . ولذلك، يُعتبر عادةً مكتبة نظام أساسية في أنظمة التشغيل الحرة.

يدعم محرر الرسومات النقطية تنسيق PNG

يدعم تنسيق PNG على نطاق واسع برامج الرسومات، بما في ذلك Adobe Photoshop و Corel Photo -Paint و Paint Shop Pro وGIMP و GraphicConverter و Helicon Filter و ImageMagick و Inkscape و IrfanView و Pixel image editor و Paint.NET و Xara Photo & Graphic Designer وغيرها الكثير (بما في ذلك منصات تصميم الرسومات عبر الإنترنت مثل Canva ). وتشمل بعض البرامج المدمجة مع أنظمة التشغيل الشائعة التي تدعم PNG برنامج الرسام من Microsoft وبرنامجي الصور / iPhoto و Preview من Apple ، كما يُدمج برنامج GIMP غالبًا مع توزيعات Linux الشائعة .

يستخدم برنامج Adobe Fireworks (الذي كان سابقًا من إنتاج Macromedia ) صيغة PNG كصيغة ملفات أصلية، مما يسمح لبرامج تحرير الصور الأخرى وبرامج المعاينة بعرض الصورة بعد دمج الطبقات. مع ذلك، يخزن Fireworks افتراضيًا بيانات وصفية للطبقات والرسوم المتحركة وبيانات المتجهات والنصوص والمؤثرات. لا يُنصح بتوزيع هذه الملفات مباشرةً. بدلًا من ذلك، يمكن لـ Fireworks تصدير الصورة بصيغة PNG مُحسّنة بدون البيانات الوصفية الإضافية لاستخدامها على صفحات الويب، وما إلى ذلك. [ 72 ]

دعم متصفحات الويب لملفات PNG

ظهر دعم PNG لأول مرة في عام 1997، في Internet Explorer 4.0b1 (32 بت فقط لنظام NT)، وفي Netscape 4.04. [ 73 ]

على الرغم من دعوات مؤسسة البرمجيات الحرة [ 74 ] واتحاد شبكة الويب العالمية (W3C) [ 75 ] ، وأدوات مثل gif2png [ 76 ] وحملات مثل حملة "حرق جميع صور GIF" [ 77 ] ، كان اعتماد تنسيق PNG على مواقع الويب بطيئًا نسبيًا بسبب تأخر دعمه ووجود بعض المشاكل في متصفح إنترنت إكسبلورر، لا سيما فيما يتعلق بالشفافية [ 78 ] . يُعدّ تنسيق PNG أكثر تنسيقات ملفات الصور استخدامًا على الويب منذ عام 2018 [ 79 ].

تشمل المتصفحات المتوافقة مع تنسيق PNG: Apple Safari و Google Chrome و Mozilla Firefox و Opera و Camino و Internet Explorer و Microsoft Edge وغيرها الكثير. للاطلاع على المقارنة الكاملة، راجع قسم مقارنة متصفحات الويب (دعم تنسيقات الصور) .

كانت إصدارات متصفح إنترنت إكسبلورر (ويندوز) الأقل من الإصدار 9.0 (الذي صدر عام 2011) تعاني من مشاكل عديدة منعتها من عرض صور PNG بشكل صحيح. [ 80 ]

  • 4.0 يتعطل عند التعامل مع أجزاء PNG كبيرة. [ 81 ]
  • لا يتضمن الإصدار 4.0 وظيفة عرض ملفات .png، [ 82 ] ولكن يوجد إصلاح في سجل النظام. [ 80 ]
  • الإصداران 5.0 و 5.01 أفسدا دعم OBJECT. [ 83 ]
  • يقوم الإصدار 5.01 بطباعة صور لوحة الألوان بخلفيات سوداء (أو رمادية داكنة) تحت نظام التشغيل ويندوز 98، وأحيانًا بألوان معدلة بشكل جذري. [ 84 ]
  • يفشل الإصدار 6.0 في عرض صور PNG بحجم 4097 أو 4098 بايت. [ 85 ]
  • لا يمكن للمتصفح 6.0 فتح ملف PNG يحتوي على جزء واحد أو أكثر من أجزاء IDAT ذات الطول الصفري. تم إصلاح هذه المشكلة لأول مرة في التحديث الأمني ​​947864 (MS08-024). لمزيد من المعلومات، راجع هذه المقالة في قاعدة معارف Microsoft: 947864 MS08-024: التحديث الأمني ​​التراكمي لمتصفح Internet Explorer. [ 86 ]
  • يفقد الإصدار 6.0 أحيانًا القدرة على عرض صور PNG تمامًا، ولكن هناك العديد من الحلول. [ 87 ]
  • الإصدارات 6.0 وما دونها لا تدعم شفافية قناة ألفا (ستعرض لون الخلفية الافتراضي بدلاً من ذلك). [ 88 ] [ 89 ] [ 90 ]
  • لا يمكن للإصدارات 7.0 وما دونها الجمع بين شفافية ألفا 8 بت وعتامة العنصر ( CSS – filter: Alpha (opacity=xx)) دون ملء الأجزاء الشفافة جزئيًا باللون الأسود. [ 91 ]
  • الإصدارات 8.0 وما دونها تعاني من دعم غير متناسق/معطل لمعامل جاما. [ 80 ]
  • لا تدعم الإصدارات 8.0 وما دونها تصحيح الألوان. [ 80 ]

دعم نظام التشغيل لأيقونات PNG

تدعم معظم توزيعات لينكس أيقونات PNG منذ عام 1999 على الأقل، في بيئات سطح المكتب مثل جنوم . [ 92 ] وفي عام 2006، أُضيف دعم أيقونات PNG إلى نظام التشغيل ويندوز فيستا . [ 93 ] كما تدعم أنظمة AmigaOS 4 و AROS و macOS و iOS و MorphOS أيقونات PNG . بالإضافة إلى ذلك، يستخدم نظام أندرويد أيقونات PNG على نطاق واسع.

برامج إدارة حجم الملفات وتحسينها

يمكن أن يختلف حجم ملف PNG بشكل كبير اعتمادًا على كيفية ترميزه وضغطه؛ تمت مناقشة هذا الأمر وتقديم عدد من النصائح في كتاب PNG: الدليل الشامل. [ 59 ]

بالمقارنة مع صور GIF

بالمقارنة مع ملفات GIF ، يكون ملف PNG الذي يحمل نفس المعلومات (256 لونًا، بدون أجزاء/بيانات وصفية إضافية)، والمضغوط باستخدام برنامج ضغط فعال، أصغر حجمًا عادةً من صورة GIF. وبحسب نوع الملف وبرنامج الضغط، قد يتراوح حجم ملف PNG بين أصغر قليلًا (10%) وأصغر بكثير (50%) إلى أكبر قليلًا (5%)، ولكنه نادرًا ما يكون أكبر بكثير [ 59 ] بالنسبة للصور الكبيرة. يُعزى ذلك إلى أداء خوارزمية DEFLATE في PNG مقارنةً بخوارزمية LZW في GIF ، ولأن طبقة الضغط المسبق الإضافية في مرشحات التنبؤ في PNG تأخذ في الحسبان بنية الصورة ثنائية الأبعاد لزيادة ضغط الملفات؛ فبما أن البيانات المُفلترة تُشفّر الاختلافات بين البكسلات، فإنها تميل إلى التجمع بالقرب من الصفر، بدلًا من أن تتوزع على جميع القيم الممكنة، وبالتالي يسهل ضغطها بواسطة DEFLATE. مع ذلك، تُقدم بعض إصدارات Adobe Photoshop و CorelDRAW و MS Paint ضغطًا ضعيفًا لملفات PNG، مما يُوحي بأن GIF أكثر كفاءة. [ 59 ]

عوامل حجم الملف

تختلف أحجام ملفات PNG بسبب عدد من العوامل:

عمق اللون
يمكن أن يتراوح عمق اللون من 1 إلى 64 بت لكل بكسل.
أجزاء إضافية
يدعم تنسيق PNG البيانات الوصفية - قد يكون هذا مفيدًا للتحرير، ولكنه غير ضروري للعرض، كما هو الحال في مواقع الويب.
متشابك
بما أن كل تمريرة من خوارزمية Adam7 تتم تصفيتها بشكل منفصل، فقد يؤدي ذلك إلى زيادة حجم الملف. [ 59 ]
فلتر
في مرحلة ما قبل الضغط، تُصفّى كل سطر بواسطة مرشح تنبؤي، قد يختلف من سطر لآخر. ولأن خطوة DEFLATE النهائية تُطبّق على بيانات الصورة المُصفّاة بالكامل، فلا يمكن تحسينها سطرًا سطرًا؛ لذا فإن اختيار المرشح لكل سطر قد يكون شديد التباين، على الرغم من وجود طرق استدلالية. [ ملاحظة 1 ]
ضغط
بفضل الحسابات الإضافية، يمكن لبرامج ضغط DEFLATE إنتاج ملفات أصغر حجماً.

وبالتالي، ثمة مفاضلة بين حجم الملف وعمق الألوان العالي، والبيانات الوصفية القصوى (بما في ذلك معلومات مساحة الألوان، بالإضافة إلى المعلومات التي لا تؤثر على العرض)، والتداخل، وسرعة الضغط، وكلها تؤدي إلى ملفات كبيرة الحجم، ذات عمق ألوان أقل، وعدد أقل من الأجزاء الإضافية أو انعدامها، وبدون تداخل، وترشيح وضغط مضبوطين ولكنهما يتطلبان موارد حاسوبية مكثفة. ولأغراض مختلفة، تُختار مفاضلات مختلفة: فقد يكون الملف ذو الحجم الأقصى هو الأنسب للأرشفة والتحرير، بينما قد يكون الملف المُصغّر هو الأنسب للاستخدام على موقع ويب، وبالمثل، يُفضّل الضغط السريع ولكن الضعيف عند تحرير الملف وحفظه بشكل متكرر، بينما يُفضّل الضغط البطيء ولكن العالي عندما يكون الملف مستقرًا: عند الأرشفة أو النشر. يُعدّ التداخل مفاضلة: فهو يُسرّع بشكل كبير عملية العرض الأولي للملفات الكبيرة (يُحسّن زمن الاستجابة)، ولكنه قد يزيد من حجم الملف (يُقلّل من الإنتاجية) مقابل فائدة ضئيلة، خاصةً بالنسبة للملفات الصغيرة. [ 59 ]

ضغط صور PNG مع فقدان البيانات

على الرغم من أن تنسيق PNG لا يفقد البيانات، إلا أن برامج ترميز PNG يمكنها معالجة بيانات الصورة مسبقًا بطريقة تفقد بعض البيانات لتحسين ضغط PNG. على سبيل المثال، يسمح تحويل صورة PNG ذات الألوان الحقيقية إلى 256 لونًا باستخدام نوع اللون المفهرس لتقليل حجم الملف بشكل ملحوظ. [ 94 ]

برنامج تحرير الصور

بعض البرامج أكثر كفاءة من غيرها عند حفظ ملفات PNG، وهذا يرتبط بتنفيذ ضغط PNG الذي يستخدمه البرنامج.

تحفظ العديد من برامج الرسومات (مثل برنامج المعاينة من Apple) ملفات PNG مع كميات كبيرة من البيانات الوصفية وبيانات تصحيح الألوان، وهي بيانات غير ضرورية عمومًا لعرضها على الإنترنت . وتُعرف ملفات PNG غير المُحسّنة من Adobe Fireworks بهذا الأمر أيضًا، لاحتوائها على خيارات لجعل الصورة قابلة للتعديل في برامج التحرير المدعومة. كذلك، يُنتج برنامج CorelDRAW (الإصدار 11 على الأقل) أحيانًا ملفات PNG لا يمكن فتحها بواسطة Internet Explorer (الإصدارات 6-8).

لقد تحسن أداء برنامج Adobe Photoshop على ملفات PNG في مجموعة CS عند استخدام ميزة "حفظ للويب" (والتي تسمح أيضًا باستخدام PNG/8 بشكل صريح).

يحفظ برنامج Adobe Fireworks ملفات PNG أكبر حجمًا من العديد من البرامج الأخرى افتراضيًا. ويعود ذلك إلى آلية حفظ الصور فيه : إذ تتضمن الصور الناتجة عن وظيفة الحفظ في Fireworks أجزاءً كبيرة خاصة، تحتوي على معلومات الطبقات والمتجهات كاملةً. وهذا يتيح إجراء تعديلات لاحقة دون فقدان الجودة. عند الحفظ باستخدام خيار التصدير ، تُضاهي صور PNG التي ينتجها Fireworks جودة الصور التي تنتجها برامج تحرير الصور الأخرى، ولكنها تصبح غير قابلة للتعديل إلا كصور نقطية مسطحة. ولا يستطيع Fireworks حفظ صور PNG قابلة للتعديل المتجهي مع تحسين حجمها.

ومن الأمثلة البارزة الأخرى على برامج ضغط صور PNG الرديئة ما يلي:

  • برنامج الرسام من مايكروسوفت لنظام التشغيل ويندوز إكس بي
  • مايكروسوفت بيكتشر إت! فوتو بريميوم 9

يؤدي الضغط الضعيف إلى زيادة حجم ملف PNG ولكنه لا يؤثر على جودة الصورة أو توافق الملف مع البرامج الأخرى.

عند تقليل عمق ألوان صورة حقيقية إلى لوحة ألوان 8 بت (كما في صور GIF)، يكون حجم بيانات الصورة الناتجة أصغر بكثير. لذا، يكون حجم ملف PNG حقيقي الألوان عادةً أكبر من حجم ملف GIF مُخفَّض الألوان، مع أن PNG قد يخزن النسخة المُخفَّضة الألوان كملف مُقسَّم إلى لوحة ألوان بحجم مماثل. في المقابل، تقوم بعض الأدوات، عند حفظ الصور بصيغة PNG، بحفظها تلقائيًا بصيغة حقيقية الألوان، حتى لو كانت البيانات الأصلية تستخدم ألوان 8 بت فقط، مما يؤدي إلى زيادة حجم الملف بلا داعٍ. [ 59 ] قد يؤدي كلا العاملين إلى الاعتقاد الخاطئ بأن ملفات PNG أكبر من ملفات GIF المكافئة.

أدوات التحسين

تتوفر أدوات متنوعة لتحسين ملفات PNG؛ وهي تقوم بذلك عن طريق:

  • (اختياري) إزالة الأجزاء الإضافية،
  • تقليل عمق اللون ، إما:
    • استخدم لوحة ألوان (بدلاً من RGB) إذا كانت الصورة تحتوي على 256 لونًا أو أقل،
    • استخدم لوحة ألوان أصغر إذا كانت الصورة تحتوي على لونين أو أربعة أو ستة عشر لونًا، أو
    • (اختيارياً) التخلص من بعض البيانات في الصورة الأصلية مع فقدان البيانات،
  • تحسين اختيار المرشح سطرًا بسطر، و
  • تحسين ضغط DEFLATE.

قائمة الأدوات

  • يُعدّ برنامج pngcrush أقدم برامج تحسين صور PNG الشائعة. فهو يسمح بتجربة عدة خيارات لاختيار الفلتر ومعاملات الضغط، ثم يختار في النهاية الخيار الأصغر. ويُستخدم هذا النموذج في جميع برامج تحسين صور PNG تقريبًا.
  • تقوم أداتا advpng و advdef المشابهة لها في حزمة AdvanceCOMP بإعادة ضغط ملف PNG IDAT. وتُطبَّق تطبيقات DEFLATE مختلفة حسب مستوى الضغط المُختار، مع مراعاة التوازن بين السرعة وحجم الملف: zlib في المستوى 1، و libdeflate في المستوى 2، و LZMA DEFLATE من 7-zip في المستوى 3، و zopfli في المستوى 4.
  • تم تصميم برنامج pngout باستخدام أداة ضغط الملفات الخاصة بالمؤلف (وهي نفسها أداة الضغط kzip الخاصة به)، مع الحفاظ على جميع إمكانيات تقليل الألوان/التصفية. مع ذلك، لا يسمح pngout بإجراء عدة تجارب على المرشحات في عملية تشغيل واحدة. يُقترح استخدام النسخة التجارية ذات واجهة المستخدم الرسومية، pngoutwin، أو استخدامه مع برنامج وسيط لأتمتة التجارب أو لإعادة الضغط باستخدام أداة الضغط الخاصة به مع الحفاظ على تطبيق المرشح سطرًا بسطر. [ ملاحظة 2 ]
  • تم تصميم برنامج zopflipng أيضاً باستخدام أداة ضغط خاصة به تُسمى zopfli. يحتوي على جميع ميزات التحسين الموجودة في برنامج pngcrush (بما في ذلك أتمتة التجارب) مع توفير أداة ضغط جيدة جداً، ولكنها بطيئة.

فيما يلي مقارنة بسيطة لميزاتها.

مُحسِّن الأداءإزالة القطعتقليل اللونتصفيةإعادة استخدام المرشح [ ملاحظة 3 ]تجارب متعددة على المرشحات في تشغيل واحدمُفرِّغ الهواء [ ملاحظة 4 ]
advpngنعملا [ ملاحظة 5 ]0لاغير متوفر [ ملاحظة 6 ](عديد)
advdefلالايعيد استخدام مجموعة المرشحات السابقةدائماًغير متوفر(عديد)
pngcrushنعمنعم0-4 أو تكيفيلانعمzlib
pngoutنعمنعم0-4 أو تكيفينعم [ ملاحظة 2 ]لاkzip
zopflipngنعمنعممن 0 إلى 4 أو تكيفي باستخدام خوارزميتين مختلفتين، أو بطريقة شاملة.نعمنعمزوبفلي

قبل zopflipngتوفر هذه الميزة، كانت الطريقة المثلى لتحسين صور PNG هي استخدام أداتين متتاليتين لتحقيق ضغط مثالي: إحداهما لتحسين المرشحات (وإزالة الأجزاء الزائدة)، والأخرى لتحسين ضغط DEFLATE. على الرغم من أن pngout يوفر كلا الخيارين، إلا أنه لا يمكن تحديد سوى نوع واحد من المرشحات في كل مرة، لذا يمكن استخدامه مع أداة وسيطة أو بالاشتراك مع pngcrush ، [ ملاحظة 2 ] الذي يعمل كأداة إعادة ضغط، مثل advdef...

إزالة الأجزاء الثانوية

لإزالة الأجزاء غير الضرورية، تتمتع معظم أدوات تحسين ملفات PNG بالقدرة على إزالة جميع بيانات تصحيح الألوان من ملفات PNG (مثل جاما، وتوازن اللون الأبيض، وملف تعريف ألوان ICC، وملف تعريف ألوان RGB القياسي). ينتج عن ذلك غالبًا أحجام ملفات أصغر بكثير. على سبيل المثال، تحقق خيارات سطر الأوامر التالية ذلك باستخدام pngcrush:

pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB InputFile.png OutputFile.png

تحسين المرشح

pngcrushتُتيح pngoutجميعها zopflipngخيارات لتطبيق أحد أنواع المرشحات من 0 إلى 4 بشكل عام (باستخدام نفس نوع المرشح لجميع الأسطر) أو باستخدام "مرشح زائف" (مرقم 5)، والذي يختار لكل سطر أحد أنواع المرشحات من 0 إلى 4 باستخدام خوارزمية تكيفية. zopflipngيُقدم البرنامج 3 طرق تكيفية مختلفة، بما في ذلك بحث شامل يحاول تحسين عملية الترشيح. [ ملاحظة 7 ]

pngoutوتوفير zopflipngخيار للحفاظ على/إعادة استخدام [ ملاحظة 2 ] [ ملاحظة 8 ] مجموعة المرشحات سطرًا بسطر الموجودة في الصورة المدخلة.

pngcrushويوفر zopflipngخيارات لتجربة استراتيجيات تصفية مختلفة في عملية تشغيل واحدة واختيار الأفضل. pngoutلا يوفر الإصدار المجاني من البرنامج، الذي يعمل عبر سطر الأوامر، هذه الميزة، بينما pngoutwinيوفرها الإصدار التجاري. [ ملاحظة 9 ]

تحسين DEFLATE

توفر كل من Zopfli و LZMA SDK تطبيقات DEFLATE قادرة على إنتاج نسب ضغط أعلى من تطبيق zlib المرجعي، ولكن على حساب الأداء. يمكن لـ AdvanceCOMP advpngاستخدام advdefأي من هاتين المكتبتين لإعادة ضغط ملفات PNG. بالإضافة إلى ذلك، يحتوي PNGOUT على تطبيق DEFLATE خاص به .

advpngلا يتضمن خيارًا لتطبيق المرشحات، ويستخدم دائمًا المرشح 0 بشكل عام (مما يترك بيانات الصورة دون ترشيح)؛ لذا لا يُنصح باستخدامه عندما تستفيد الصورة بشكل كبير من الترشيح. في المقابل، advdefلا يتعامل برنامج آخر من نفس الحزمة مع بنية PNG، ويعمل فقط كبرنامج لإعادة ضغط الصور، مع الاحتفاظ بأي إعدادات مرشحات موجودة.

تحسين الأيقونات

بما أن الأيقونات المصممة لنظام التشغيل Windows Vista والإصدارات الأحدث قد تحتوي على صور فرعية بصيغة PNG، فإنه يمكن تطبيق التحسينات عليها أيضًا. يستطيع برنامج Pixelformer، على الأقل، إجراء عملية تحسين خاصة أثناء حفظ ملفات ICO ، مما يقلل من أحجامها.

قد تحتوي أيقونات نظام macOS أيضًا على صور فرعية بصيغة PNG، ولكن لا توجد أداة متاحة لمثل هذه الخاصية.

انظر أيضاً

ملاحظات توضيحية

  1. تُستخدم عملية الترشيح لزيادة التشابه مع البيانات، وبالتالي زيادة نسبة الضغط. مع ذلك، لا توجد معادلة نظرية للتشابه، ولا علاقة مطلقة بين التشابه والضاغط، لذا ما لم يتم الضغط، لا يمكن تحديد ما إذا كانت مجموعة مرشحات أفضل من أخرى.
  2. 1 2 3 4 استخدمpngout -f6لإعادة استخدام مجموعة المرشحات السابقة
  3. يمكن للأدوات التي توفر هذه الميزة أن تعمل كأداة إعادة ضغط لملفات PNG.
  4. ↑ في مكتبة zlib ، وهي تطبيق deflate المرجعي، يكون الضغط دون المستوى الأمثل حتى عند أعلى مستوى. انظر Zopfli ، تنسيق zip في 7-zip و pngout .
  5. لا يدعم advpng تقليل الألوان فحسب، بل إنه يفشل أيضًا في الصور ذات مساحة الألوان المخفضة.
  6. لا يمكن لـ Advpng تطبيق الفلتر 0 بشكل عام، وبالتالي فإن الإجابة ليست نعم أو لا، بل غير متوفرة.
  7. [pngcrush|pngout] -f أوzopflipng --filters
  8. zopflipng --filters=p
  9. pngoutwin يوفر مربع حوار الإعدادات الخاص بالتحسين للمستخدم مجموعة مختارة من استراتيجيات التصفية.

مراجع

  1. 1 2 3 "ISO/IEC 15948:2004 – تكنولوجيا المعلومات – رسومات الحاسوب ومعالجة الصور – رسومات الشبكة المحمولة (PNG): المواصفات الوظيفية" . المنظمة الدولية للتوحيد القياسي . 3 مارس 2004. تم الاطلاع عليه بتاريخ 19 فبراير 2011 .
  2. "إشعار حقوق النشر، وإخلاء المسؤولية، والترخيص - ترخيص مكتبة PNG المرجعية الإصدار 2" (TXT) . libpng.org . 1 يوليو 2000.
  3. 1 2 رويلوفس، جريج (29 مايو 2010). "تاريخ بابوا غينيا الجديدة" . libpng . تم الاسترجاع في 20 أكتوبر 2010 .
  4. W3C 2003 ، 1 النطاق .
  5. "تعريف اسم PNG من قاموس أكسفورد المتقدم للمتعلمين" . قواميس أكسفورد للمتعلمين . تم الاطلاع عليه بتاريخ 21 يناير 2018 .
  6. "وصف ملف صورة الشبكة المحمولة بصيغة PNG" . surferhelp.goldensoftware.com . تم الاطلاع عليه بتاريخ 12 أغسطس 2022 .
  7. تي. بوتيل وآخرون (مارس 1997). مواصفات PNG (رسومات الشبكة المحمولة) الإصدار 1.0 . مجموعة عمل الشبكة. doi : 10.17487/RFC2083 . RFC 2083 . معلوماتي. القسم 3.
  8. "تسجيل نوع الوسائط الجديد image/png" . IANA . 27 يوليو 1996.
  9. "إعلان رسمي من شركة Compu $erve بشأن ترخيص صور GIF" . groups.google.com . تم الاطلاع عليه بتاريخ 8 يناير 2025 .
  10. ليمر، إريك (30 أكتوبر 2019). "ماتت صور GIF. عاشت صور GIF" . مجلة Popular Mechanics . تم الاطلاع عليه بتاريخ 21 نوفمبر 2022 .
  11. "أفكار حول صيغة ملف بديلة لملفات GIF" . groups.google.com . تم الاطلاع عليه بتاريخ 27 فبراير 2026 .
  12. رويلوفس 1999 ، الفصل 7. تاريخ تنسيق رسومات الشبكة المحمولة. خطأ في sfn: لا يوجد هدف: CITEREFRoelofs1999 ( مساعدة )
  13. 1 2 3 4 W3C 2003 ، 11.2.2 IHDRرأس الصورة
  14. رويلوفس، جريج (29 سبتمبر 2011). "مواصفات وامتدادات رسومات الشبكة المحمولة (PNG)" . libpng . تم الاطلاع عليه في 15 أغسطس 2021 .
  15. تي. بوتيل وآخرون (مارس 1997). مواصفات PNG (رسومات الشبكة المحمولة) الإصدار 1.0 . مجموعة عمل الشبكة. doi : 10.17487/RFC2083 . RFC 2083 . معلومات. القسم 8.4. صيغة PNG بحد ذاتها هي صيغة صورة واحدة فقط. (...) في المستقبل، قد يتم تعريف صيغة صور متعددة مبنية على PNG. ستُعتبر هذه الصيغة صيغة ملف منفصلة.
  16. 1 2 "شرح الإصدار الثالث من PNG" . W3C GitHub . 26 فبراير 2025. تم الاطلاع عليه في 25 يونيو 2025 .
  17. «مواصفات رسومات الشبكة المحمولة (PNG) (الإصدار الثالث) أصبحت الآن توصية من اتحاد شبكة الويب العالمية (W3C)» . اتحاد شبكة الويب العالمية. 24 يونيو 2025. مؤرشف من الأصل في 25 يونيو 2025. تم الاطلاع عليه في 25 يونيو 2025 .
  18. كريس بلوم (24 يونيو 2025). "PNG عادت!" . بروجرام ماكس . تم الاطلاع عليه في 25 يونيو 2025 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  19. تي. بوتيل وآخرون (مارس 1997). مواصفات PNG (رسومات الشبكة المحمولة) الإصدار 1.0 . مجموعة عمل الشبكة. doi : 10.17487/RFC2083 . RFC 2083 . معلوماتي.
  20. W3C 2003 ، 5.2 توقيع PNG .
  21. W3C 2003 ، 5.3 تخطيط الأجزاء .
  22. 1 2 لافرويغ، مانول (31 أكتوبر 2017). PoC or GTFO . دار نشر نو ستارش. ISBN 9781593278984تتكون كل قطعة من أربعة أجزاء: الطول، ونوع القطعة، وبيانات القطعة، ورمز التحقق الدوري (CRC) ذو 32 بت . الطول هو عدد صحيح غير مُوَقَّع ذو 32 بت يشير إلى حجم حقل بيانات القطعة فقط.
  23. لافرويغ، مانول (31 أكتوبر 2017). إما أن تكون من ذوي البشرة الملونة أو ارحل . دار نشر نو ستارش. رقم ISBN 9781593278984. نوع الكتلة هو رمز FourCC ذو 32 بت مثل IHDR أو IDAT أو IEND.
  24. W3C 2003 ، 11.2.4 IDATبيانات الصور .
  25. W3C 2003 ، 11.2.5 IENDعرض الصور الترويجي .
  26. W3C 2003 ، 11.3.3.3 iCCPملف تعريف ICC المضمن .
  27. "مواصفات PNG (الطبعة الثالثة)، نقاط ترميز cICP المستقلة عن الترميز لتحديد نوع إشارة الفيديو" . w3.org . 21 سبتمبر 2023.
  28. "إضافة دعم لصور النطاق الديناميكي العالي (HDR) إلى صيغة PNG" . مجموعة مجتمع W3C Color on the Web. 3 مايو 2023.
  29. توماس كوب (17 أبريل 2008). "التوقيعات الرقمية بصيغة PNG: مواصفات الامتداد" .
  30. "مواصفات رسومات الشبكة المحمولة (PNG) (الطبعة الثالثة)" .
  31. "إضافات على مواصفات PNG 1.2، الإصدار 1.5.0" . ftp-osl.osuosl.org .
  32. W3C 2003 ، 11.3.3.2 gAMAجاما الصورة .
  33. W3C 2003 ، 11.3.5.3 pHYsأبعاد البكسل المادية .
  34. W3C 2003 ، 11.3.3.4 sBITالبتات المهمة .
  35. "مواصفات PNG (رسومات الشبكة المحمولة) \ الإصدار 1.0" . w3.org . تم الاطلاع عليه بتاريخ 30 مايو 2022 .4.2.6. بتات sBIT المهمة، 13 بايت إجمالاً - نوع اللون 2 و3 يبلغ مجموعهما 6 بايت
  36. رويلوفس 2003 ، البتات المهمة (sBIT) : "الصور ذات التدرج الرمادي هي الأبسط؛ يحتوي sBIT بعد ذلك على بايت واحد يشير إلى عدد البتات المهمة في بيانات المصدر"
  37. "مواصفات PNG: مواصفات القطع" .
  38. "أخبار بابوا غينيا الجديدة من عام 2006" . Libpng.org.
  39. 1 2 "مواصفات PNG: الأساس المنطقي" . w3.org .
  40. W3C 2003 ، 9 التصفية .
  41. "خوارزميات التصفية" . مواصفات PNG .
  42. بايث، آلان و. (1991). آرفو، جيمس (محرر). "ضغط ملفات الصور أصبح سهلاً". جواهر الرسومات 2. دار النشر الأكاديمية، سان دييغو: 93-100 . doi : 10.1016/B978-0-08-050754-5.50029-3 . ISBN 0-12-064480-0.رمز الوصول المغلق
  43. كروكر، لي دانيال (يوليو 1995). "PNG: تنسيق الرسومات الشبكية المحمول" . مجلة دكتور دوب . 20 (232): 36-44 .
  44. "مقدمة إلى PNG" . nuwen.net . تم الاطلاع عليه بتاريخ 20 أكتوبر 2010 .
  45. "هل يمكنني استخدام... جداول الدعم لـ HTML5 وCSS3 وما إلى ذلك؟" . caniuse.com . تم الاطلاع عليه بتاريخ 6 فبراير 2021 .
  46. "نظام iOS 8 وهاتف iPhone 6 لمطوري ومصممي المواقع الإلكترونية: التطور التالي لمتصفح Safari وتطبيقات الويب الأصلية" . mobilexweb.com. 17 سبتمبر 2014. تاريخ الاطلاع: 24 سبتمبر 2014 .
  47. scroggo (14 مارس 2017). "chromium / chromium / src / 7d2b8c45afc9c0230410011293cc2e1dbb8943a7" . chromium.googlesource.com . تم الاطلاع عليه بتاريخ 31 مارس 2017 .
  48. chrome-cron؛ وآخرون (27 مارس 2017). "chromium / chromium / src / 59.0.3047.0..59.0.3053.0" . chromium.googlesource.com . تم الاطلاع عليه في 31 مارس 2017 . 
  49. "Dev.Opera — ما الجديد في Chromium 59 و Opera 46" . dev.opera.com . تم الاطلاع عليه بتاريخ 11 سبتمبر 2022 .
  50. "فشل التصويت: APNG 20070405a" . 20 أبريل 2007. مؤرشف من الأصل في 3 فبراير 2008.
  51. "مقارنة مقترحات الرسوم المتحركة لمجموعة PNG + برنامج الاختبار" . xs4all.nl . مؤرشف من الأصل بتاريخ 24 يناير 2009.
  52. "مواصفات PNG (الطبعة الثالثة)، APNG: الرسوم المتحركة القائمة على الإطارات" . w3.org . 24 يونيو 2025.
  53. 1 2 3 ب. دويتش؛ ج. ل. غايلي (مايو 1996). مواصفات تنسيق البيانات المضغوطة ZLIB، الإصدار 3.3 . مجموعة عمل الشبكة. doi : 10.17487/RFC1950 . RFC 1950 .معلوماتي.
  54. ب. دويتش (مايو 1996). مواصفات تنسيق البيانات المضغوطة DEFLATE، الإصدار 1.3 . مجموعة عمل الشبكة. doi : 10.17487/RFC1951 . RFC 1951 .معلوماتي.
  55. "مقدمة أساسية لميزات PNG" . Libpng.org . تم الاطلاع عليه بتاريخ 20 أكتوبر 2010 .
  56. "GIF، PNG، JPG. أيها الأنسب للاستخدام؟" . Sitepoint.com. 3 أغسطس 2009. تم الاطلاع عليه بتاريخ 20 أكتوبر 2010 .
  57. "إضافات على مواصفات PNG 1.2، الإصدار 1.5.0" . تم الاطلاع عليه بتاريخ 5 مايو 2020 .
  58. "T.87 : ضغط الصور الثابتة ذات التدرج اللوني المستمر بدون فقدان أو بفقدان شبه كامل - خط الأساس" . الاتحاد الدولي للاتصالات . تم الاطلاع عليه بتاريخ 20 مارس 2011 . 
  59. 1 2 3 4 5 6 7 رويلوفس 2003 ، الفصل 9. الضغط والترشيح
  60. "تنسيق ملف JPEG XL" . مكتبة الكونغرس . تم الاطلاع عليه في 1 يناير 2025 .
  61. "لماذا تستخدم آبل تنسيق JPEG XL، وماذا يعني ذلك لصورك؟" . بيتا بيكسل . ١٨ سبتمبر ٢٠٢٤. تم الاطلاع عليه في ١ يناير ٢٠٢٥ .
  62. "ترميز صور JPEG XL" . مكتبة الكونغرس . تم الاطلاع عليه في 1 يناير 2025 .
  63. "مقارنة بين JPEG XL وبرامج ترميز الصور الأخرى" . كلاوديناري . 26 مايو 2020. تم الاطلاع عليه في 1 يناير 2025 .
  64. "WebP" . www.loc.gov . 13 أبريل 2023. تم الاطلاع عليه بتاريخ 22 أغسطس 2024 .
  65. 1 2 إليس، مات (22 فبراير 2021). "ما هو WebP؟ مزايا وعيوب هذا التنسيق الجديد للصور" . 99designs . تم الاطلاع عليه في 22 أغسطس 2024 .
  66. "تنسيق صور للويب | WebP" . جوجل للمطورين . تم الاطلاع عليه بتاريخ 22 أغسطس 2024 .
  67. ويس فينلون (28 أبريل 2023). "إليك سبب اضطرارك للتعامل مع هذا الكم الهائل من ملفات الويب المزعجة الآن" . مجلة بي سي غيمر . تم الاطلاع عليه بتاريخ 22 أغسطس 2024 .
  68. "AVIF: تعرف على تنسيق ملف الصور من المستوى التالي" . تحالف الوسائط المفتوحة . 8 نوفمبر 2023. تم الاطلاع عليه بتاريخ 26 سبتمبر 2024 .
  69. "PNG vs AVIF: معركة تنسيقات الصور النهائية | Coconut©" . www.coconut.co . تم ​​الاطلاع عليه بتاريخ 26 سبتمبر 2024 .
  70. 1 2 "AVIF مقابل WebP: 4 اختلافات رئيسية وكيفية الاختيار" . كلاوديناري . تم الاطلاع عليه بتاريخ 26 سبتمبر 2024 .
  71. "libpng" . تم الاطلاع عليه بتاريخ 13 يوليو 2013 .
  72. "مساعدة الألعاب النارية / الحفظ والتصدير" . شركة أدوبي . تم الاطلاع عليه بتاريخ 16 أبريل 2026 .
  73. "استخدام صور PNG لعرض البيانات" . مركز أوريغون لعلوم المياه. 16 فبراير 2006. مؤرشف من الأصل في 20 أغسطس 2008. تم الاطلاع عليه في 21 أكتوبر 2003 .
  74. "لماذا لا توجد ملفات GIF على صفحات ويب GNU؟" . نظام تشغيل GNU . 16 ديسمبر 2008.
  75. "صحيفة حقائق PNG" . اتحاد شبكة الويب العالمية . 7 أكتوبر 1996.
  76. "صفحة موارد لبرنامج gif2png 2.5.11" . catb.org .
  77. "حرق جميع صور GIF" . burnallgifs.org .
  78. "شفافية صور PNG في متصفح إنترنت إكسبلورر" . مجلة الكمبيوتر الشخصي . 5 أكتوبر 2004.
  79. "الاتجاهات السنوية التاريخية في إحصائيات استخدام تنسيقات ملفات الصور للمواقع الإلكترونية" . w3techs.com .
  80. 1 2 3 4 "المتصفحات التي تدعم صيغة PNG" . 14 مارس 2009.
  81. "يتعطل مستكشف ويندوز عند النقر على ملف PNG للألعاب النارية لعرضه" . أنظمة أدوبي . 5 يونيو 2007.
  82. "تعذر عرض صور بصيغة .png باستخدام متصفح إنترنت إكسبلورر 4.0" . قاعدة معارف مايكروسوفت .
  83. "تُطبع صور PNG الموجودة داخل علامة كائن كصورة سلبية" . قاعدة معارف مايكروسوفت .
  84. "يتم طباعة صور PNG بشكل غير صحيح في متصفح إنترنت إكسبلورر 5.01" . قاعدة معارف مايكروسوفت .
  85. "لا يمكنك عرض بعض صور PNG في متصفح إنترنت إكسبلورر 6" . قاعدة معارف مايكروسوفت .
  86. "لا يمكنك استخدام متصفح إنترنت إكسبلورر 6 لفتح ملف PNG يحتوي على جزء واحد أو أكثر من أجزاء IDAT ذات الطول الصفري" . قاعدة معارف مايكروسوفت .
  87. "الأسئلة الشائعة حول ملفات PNG" .
  88. "دكتوراه: تفقد رسومات الشبكة المحمولة شفافيتها في متصفح الويب" . قاعدة معارف مايكروسوفت .
  89. "ملفات PNG لا تُظهر الشفافية في متصفح إنترنت إكسبلورر" . قاعدة معارف مايكروسوفت .
  90. لوفيت، مايكل (21 ديسمبر 2002). "شفافية متغيرة عبر المتصفحات مع PNG: حل عملي" . A List Apart . مؤرشف من الأصل في 18 أغسطس 2011. تم الاطلاع عليه في 21 يوليو 2009 .
  91. "صورة شفافة ألفا لمتصفح إنترنت إكسبلورر 7 + مستوى التعتيم" . القناة التاسعة . مؤرشفة من الأصل بتاريخ 27 أغسطس 2011. تم الاطلاع عليها بتاريخ 23 يناير 2009 .
  92. فولبرايت، مايكل (1999). "خارطة طريق مكتبة جنوم 1.0" . مؤرشف من الأصل في 30 يناير 2010. تم الاطلاع عليه في 19 ديسمبر 2007 .
  93. "Windows Vista – Icons" . OOne . 2007. مؤرشف من الأصل في 11 نوفمبر 2007. تم الاطلاع عليه في 12 نوفمبر 2007 .
  94. "يمكن أن يكون تنسيق PNG تنسيقًا مضغوطًا مع فقدان البيانات" . Pngmini.com . تم الاطلاع عليه في 1 فبراير 2014 .

للمزيد من القراءة