صيغة PNG — ضغط بلا فقد وخلفية شفافة
خلفية نشأة صيغة PNG (مشكلة براءة اختراع GIF)، وتاريخها من توصية W3C عام 1996 حتى الإصدار الثالث عام 2025 (HDR وAPNG وEXIF)، ومبدأ الضغط غير الفاقد وبنية المقاطع، والشفافية، ولماذا يكبر حجمها مع الصور الفوتوغرافية.
صيغة PNG (Portable Network Graphics) أُنشئت في منتصف التسعينيات لتجاوز مشكلة براءة الاختراع المتعلقة بضغط LZW المستخدم في GIF، مع تقديم ميزات أفضل منه. أصبحت توصية من W3C عام 1996، ثم وُحِّدت لاحقًا معيارًا دوليًا برقم ISO/IEC 15948. وفي يونيو 2025 صدر الإصدار الثالث من PNG توصيةً من W3C، وهو أول تحديث بعد 22 عامًا من الإصدار الثاني (2003)، وأدرج رسميًا في المعيار PNG المتحرك (APNG) ومعلومات ألوان HDR ومقطع EXIF.
مبدأ الضغط
PNG صيغة غير فاقدة لا تغيّر قيم البكسلات إطلاقًا. يُطبَّق مرشّح على كل صف لتحويل القيم إلى أرقام يسهل توقعها مثل «الفرق عن البكسل الأيسر والعلوي»، ثم تُضغط بخوارزمية Deflate من عائلة zip نفسها. إذا تكرر اللون نفسه على مساحة واسعة تتوالى قيم الفرق صفرًا فيصبح الضغط صغيرًا جدًا، أما الصور الفوتوغرافية التي تختلف فيها قيمة كل بكسل قليلًا فلا تكاد تنضغط.
يمكن تقليص الحجم كثيرًا بتقليل الألوان إلى 256 أو أقل وحفظها بطريقة لوحة الألوان (ألوان مفهرسة)، لكن تذكّر أن تقليل الألوان نفسه فقد، فتختلف النتيجة عن الأصل حتى لو كانت بصيغة PNG.
توقيع الملف وبنية المقاطع
يبدأ ملف PNG دائمًا بتوقيع من 8 بايت (بالست عشري 89 50 4E 47 0D 0A 1A 0A). تليه وحدات تسمى مقاطع (chunks)، يتكون كل منها من الطول والنوع (4 أحرف) والبيانات وقيمة التحقق CRC.
| المقطع | الوظيفة |
|---|---|
| IHDR | العرض والارتفاع، وعمق البت، ونوع اللون |
| PLTE | لوحة الألوان (في حالة الألوان المفهرسة) |
| tRNS | معلومات الشفافية للصور ذات اللوحة أو اللون الواحد |
| IDAT | بيانات البكسلات المضغوطة (قد تنقسم إلى عدة مقاطع) |
| eXIf | بيانات EXIF الوصفية (مدرجة رسميًا في الإصدار الثالث) |
| cICP | معلومات فضاء اللون مثل HDR (أضيفت في الإصدار الثالث) |
| acTL · fcTL · fdAT | التحكم في حركة APNG وإطاراتها (مدرجة رسميًا في الإصدار الثالث) |
| IEND | نهاية الملف |
صُممت الصيغة بحيث تُتجاهل المقاطع المساعدة غير المعروفة، فتستطيع البرامج القديمة فتح الملف حتى بعد إضافة ميزات جديدة. وبفضل هذا التصميم أيضًا يعرض العارض غير الداعم لـ APNG الإطار الأول فقط.
الشفافية
يمكن أن يحمل كل بكسل في PNG قناة ألفا من 0 إلى 255 درجة (ومن 0 إلى 65,535 في 16 بت)، فتظهر الظلال شبه الشفافة وحواف الشعر بشكل طبيعي. ولهذا تُعد الصيغة القياسية لحفظ الصور بعد إزالة خلفيتها والشعارات والأيقونات.
المزايا والقيود
- مثالية للنصوص والخطوط والمخططات: تبقى الحواف حادة، وكثيرًا ما يكون الحجم أصغر من JPG.
- لا فقد مع تكرار الحفظ: مناسبة كملفات وسيطة أثناء التحرير.
- غير فعّالة للصور الفوتوغرافية: تحفظ الصورة نفسها بحجم يبلغ أضعاف حجم JPG.
- دعم APNG: بحسب Can I use مدعومة منذ Chrome 59 وFirefox 3 وSafari 8، والبرامج غير الداعمة تعرض الإطار الأول فقط.
الاستخدامات الرئيسية
لقطات الشاشة، والشعارات والأيقونات، والصور ذات الخلفية الشفافة، والمخططات والرسوم البيانية، والملفات الأصلية للتحرير. وتُستخدم أيضًا حين تطلب المطبعة ملفًا غير فاقد.
عند التحويل إلى صيغ أخرى
- PNG → JPG: يجب ملء الأجزاء الشفافة بلون خلفية. تحويل لقطة شاشة إلى JPG قد يسبب تشوشًا حول النصوص، فاجعل الجودة مرتفعة (PNG إلى JPG).
- PNG → WebP: التحويل إلى WebP غير الفاقد يحافظ غالبًا على الشفافية مع تقليل الحجم. أعلنت Google أن WebP غير الفاقد أصغر من PNG بنسبة 26% في المتوسط.
- PNG → ICO: إذا احتجت أيقونة موقع (favicon) أو أيقونة ويندوز فحوّل PNG إلى ICO. يُفضَّل استخدام أصل مربع.
- PNG بعمق 16 بت: يعالج Canvas في المتصفح الصور بـ 8 بت لكل قناة، لذا يُخفَّض الأصل ذو 16 بت إلى 8 بت عند تحويله بأداة ويب.
جرّبها الآن