صورة PNG (.png)
توصية قياسيرسومات الشبكة المحمولة (PNG) هي تنسيق لملفات الرسومات النقطية غير المقيّدة يدعم ضغط البيانات بدون فقدان، والألوان المفهرسة، وشفافية قناة ألفا المتغيرة.
تحويل PNG إلى JPG
محول مجاني داخل المتصفح للتحويل من PNG إلى JPG. قم بتحويل الملفات فوراً على جهازك.
ضغط PNG عبر الإنترنت
خاص - لا تغادر الملفات جهازك أبدًا
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات PNG من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات PNG من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
89 50 4E 47 0D 0A 1A 0Aتمثيل ASCII: .PNG....
التوحيد القياسي: توصية W3C (عام 1996) / ISO/IEC 15948:2004
المواصفات الفنية
| هيكلية الحاوية | حاوية ثنائية تعتمد على الأجزاء (Chunks) مع التحقق عبر رمز CRC32 بطول 4 بايت لكل جزء |
| الضغط | ضغط Deflate (يعتمد على LZ77 وترميز هوفمان) مع 5 مرشحات تنبؤية لخطوط المسح (None وSub وUp وAverage وPaeth) |
| ترتيب البايتات (Endianness) | ترتيب البايتات الكبير (Big-Endian أو ترتيب الشبكة) لطول الأجزاء، والأبعاد، ورموز التحقق CRC |
| مساحات الألوان | sRGB, Display P3, لوحة ألوان مفهرسة (1-8 بت), تدرج الرمادي, ألوان كاملة (24 أو 48 بت) |
| القنوات والبنية | RGB مع ألفا (حتى 16 بت لكل قناة، أو RGBA بعمق 64 بت) |
| الحد الأقصى للأبعاد | 2,147,483,647 × 2,147,483,647 بكسل (أعداد صحيحة موجبة بطول 4 بايت) |
| الشفافية | قناة شفافية ألفا متغيرة كاملة بدقة 8 بت / 16 بت |
| البث والتحميل التدرجي | خوارزمية التشابك Adam7 ذات الـ 7 تمريرات تتيح عرض خطوط المسح الثنائية تدريجياً |
مصفوفة المقارنة التقنية: PNG مقابل المنافسين
| السمة التقنية | PNG (الحالي) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| نوع الضغط | بدون فقدان حصرياً (Deflate + مرشحات تنبؤية ثنائية الأبعاد) | بفقدان بعض البيانات (VP8) ودون فقدان (VP8L) | بفقدان بعض البيانات (AV1 داخل الإطار) ودون فقدان | بفقدان بعض البيانات حصرًا (تحويل جيب التمام المتقطع) |
| شفافية ألفا | قناة ألفا كاملة بدقة متغيرة تبلغ 8 بت / 16 بت | دعم قناة ألفا بدقة 8 بت | دعم ألفا بدقة 8 بت / 10 بت / 12 بت | لا يدعم قناة الشفافية |
| حجم الملف (للصور الفوتوغرافية) | غالبًا ما يكون أكبر من التنسيقات الفاقدة للصور الفوتوغرافية؛ ويختلف الحجم النسبي حسب الصورة والمُرمِّز. | قد يكون حجمه أصغر من JPEG؛ وتختلف النتيجة حسب الصورة والمُرمِّز. | قد يكون حجمه أصغر من JPEG؛ وتختلف النتيجة حسب الصورة والمُرمِّز. | متوسط أساسي |
| حجم الملف (الرسومات وواجهات المستخدم) | حجمه صغير للغاية في لقطات الشاشة والرسوم الخطية والنصوص | وضع ممتاز دون فقدان | جيد، ولكنه أبطأ في عملية التشفير | ضعيف (ينتج عنه تشوهات رنينية على امتداد الحواف الحادة) |
| توافق المتصفحات | توافق شامل بنسبة 100% مع جميع المتصفحات منذ عام 1998 | دعم متصفحات حديثة بنسبة 97%+ | دعم متصفحات حديثة بنسبة 93%+ | توافق شامل بنسبة 100% |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
يعرض عارض الصور رسالة 'خطأ فادح: ملف PNG غير صالح' أو يتعذر فتح الملف.
السبب الجذري: تم تغيير البايتات الـ 8 الأولى بواسطة وضع نقل النصوص ASCII (مما أدى إلى تحويل 0x0D 0x0A إلى 0x0A أو 0x0D 0x0D 0x0A).
الاسترداد: افتح الملف في محرر سداسي عشر (Hex Editor) وتأكد من أن البايتات الـ 8 الأولى تطابق '89 50 4E 47 0D 0A 1A 0A'. استعادة بايتات الترويسة الثمانية هذه غالباً ما تستعيد الصورة.
تُبلغ أداة pngcheck عن 'خطأ CRC في جزء IDAT'، أو تُحمّل الصورة جزئيًا مع تلف خطوط المسح السفلية.
السبب الجذري: تلف في البتات داخل تدفق بيانات zlib المضغوط أو خطأ في المجموع الاختياري CRC32 داخل جزء IDAT.
الاسترداد: استخدم الأمر pngcheck -f أو أدوات استعادة تدفق Deflate لإعادة حساب قيم CRC32 صحيحة، أو لفك ضغط خطوط المسح السليمة حتى الكتلة التالفة.
تظهر الصورة بشكل جيد في عارضات سطح المكتب ولكنها تفشل في تطبيقات iOS.
السبب الجذري: تتوقع iOS تنسيق CgBI الخاص بشركة Apple، الذي تُبدّل فيه البايتات، أو أجزاء مساحة ألوان غير قياسية.
الاسترداد: استخدم الأمر 'pngcrush -revert-iphone-optimizations' لتوحيد تنسيق الصورة واستعادة ترتيب W3C RGBA القياسي.
تحليل الأمان ومتجهات الهجوم على المحلّل
PNG مدعوم في العديد من أنظمة التشغيل والتطبيقات. تشمل مخاطر الأمان استنفاد ذاكرة وحدة فك الترميز والكتل الإضافية الضارة.
ناقلات الهجوم المعروفة
- أجزاء البيانات الوصفية tEXt و zTXt ذات الحجم المفرط، التي قد تتسبب في حجب الخدمة باستنفاد الذاكرة (OOM) في وحدات فك الترميز غير المعزولة.
- ثغرات تجاوز سعة مخزن الكومة المؤقت (Heap Buffer Overflow) في إصدارات libpng القديمة (مثل CVE-2015-8126 في png_set_PLTE).
- هجمات فك الضغط بقنابل البكسل، حيث تحدد صورة صغيرة الحجم أبعادًا هائلة (مثل 100,000 × 100,000 بكسل).
- استخراج البيانات خفيةً (Steganographic exfiltration) عبر إخفاء حمولات مشفرة داخل أجزاء خاصة إضافية (مثل eXIf أو أنواع أجزاء مخصصة).
أفضل الممارسات الدفاعية: تحقّق دائمًا من أبعاد الصورة قبل تخصيص مخازن مؤقتة للبكسلات في الذاكرة. احذف الأجزاء الإضافية غير الأساسية (eXIf و tEXt) من الصور التي يرفعها المستخدمون باستخدام أداة تنقية آمنة للذاكرة.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- يستخدم PNG ضغطًا بلا فقد، لذلك لا يضيف ترميز الصورة دون تغيير فقدًا ناتجًا عن الضغط؛ وقد تغيّر التعديلات أو تحويل الألوان قيم البكسل.
- تتيح شفافية ألفا السلسة بدقة 8 بت دمج الصورة بسلاسة مع الخلفيات المعقدة.
- تضمن أجزاء تصحيح غاما والإحداثيات اللونية عرضًا متسقًا على الشاشات المختلفة.
القيود الفنية والسلبيات
- أحجام ملفات أكبر بكثير من التنسيقات الحديثة التي تستخدم الضغط بفقدان بعض البيانات، مثل WebP أو AVIF، للمحتوى الفوتوغرافي.
- لا يدعم تنسيق PNG القياسي الرسوم المتحركة متعددة الإطارات بشكل أصلي (يتطلب امتداد APNG).
- ينتج عن عمق البت العالي (16 بت لكل قناة) مخازن مؤقتة ضخمة في الذاكرة لفك الترميز.
معلومات تقنية طريفة
- صُممت الترويسة السحرية المكوّنة من 8 بايت خصيصًا لاكتشاف تلف نهايات الأسطر CR/LF الناتج عن عمليات النقل عبر FTP.
- العبارة التوسعية غير الرسمية للاختصار PNG هي «PNG ليس GIF».
- تستخدم Apple جزء CgBI خاصًا في صور PNG لتطبيقات iOS، يعكس ترتيب RGBA إلى BGRA لتمكين العرض المباشر بوحدة معالجة الرسوميات.
الأسئلة التقنية المتكررة
لماذا يزداد حجم ملف PNG أحياناً عند حفظه في محررات الصور؟
تختلف حزم البرامج في مستويات ضغط Deflate وطرق اختيار مرشحات خطوط المسح التنبؤية. وغالبًا ما تضيف برامج مثل Photoshop ملفات تعريف ألوان غير مضغوطة، وكتل بيانات وصفية بتنسيق XMP، وأجزاء IDAT بأحجام غير محسّنة. أما الأدوات المتخصصة، مثل أداة الضغط في File2File.app، فتختبر مرشحات خطوط المسح الخمسة لاختيار أقل حجم ممكن للملف.
ما الفرق بين PNG-8 وPNG-24؟
يستخدم PNG-8 لوحة ألوان مفهرسة تضم ما يصل إلى 256 لونًا (على غرار GIF)، ما ينتج عنه ملفات صغيرة جدًا مناسبة للأيقونات البسيطة. يدعم PNG-24 ما يصل إلى 16.7 مليون لون (ألوان حقيقية Truecolor، بواقع 8 بت لكل قناة)، بينما يضيف PNG-32 قناة ألفا للشفافية بدقة 8 بت.
لماذا يحتوي PNG على 5 مرشحات تنبؤية لخطوط المسح؟
يضغط Deflate أنماط البايتات المتكررة. وبما أن قيم البكسلات في الصور الفوتوغرافية أو المتدرجة تتغير تدريجيًا، يطبّق PNG أحد مرشحات خطوط المسح الخمسة (None وSub وUp وAverage وPaeth) على كل خط، بحساب الفروق بين البكسلات المتجاورة. ويحوّل ذلك بيانات التدرج إلى سلاسل من بايتات قيمها قريبة من الصفر، فتُضغط بكفاءة أعلى بكثير باستخدام Deflate.
هل يدعم تنسيق PNG مساحات الألوان CMYK للطباعة التجارية؟
لا. تقصر مواصفات W3C الرسمية لتنسيق PNG أنواع الألوان عمدًا على تدرج الرمادي (Grayscale) والألوان المفهرسة (Indexed) وRGB. تتطلب سير عمل الطباعة الاحترافي الذي يستخدم CMYK تنسيقي TIFF أو PDF.
أزواج تحويل PNG ذات الصلة
يؤدي تحويل الصور النقطية PNG إلى تنسيق JPEG إلى تقليل حجم الملف عن طريق تطبيق ضغط مع فقدان، مما يتيح تحميل الصور بشكل أسرع على مواقع الويب واستخدام مساحة تخزين أقل.
يؤدي تحويل صورة JPEG نقطية ذات فقد إلى صورة PNG نقطية دون فقدان إلى منع المزيد من الفقد في الجودة ويدعم الشفافية عبر قناة ألفا.
قد يقلل تحويل صور PNG حجم الملف مع الحفاظ على الشفافية؛ وتعتمد النتيجة على استخدام الترميز بفقد أو من دونه ومحتوى الصورة.
حوّل صور WebP إلى PNG عندما تحتاج إلى صيغة PNG أو إلى الاحتفاظ بالشفافية. يعتمد حجم الملف على الصورة وإعدادات التحويل.
يحوّل تحويل صور HEIC إلى PNG الصور المضغوطة بتقنية HEVC الخاسرة إلى ملفات رسومية واسعة الانتشار وبدون فقدان في البيانات.
يؤدي تحويل ملفات المتجهات SVG إلى صور PNG نقطية إلى تحويل الرسومات القابلة لتغيير حجمها والمبنية على الشفرات إلى شبكات ذات بكسلات ثابتة لضمان توافق عام مع التطبيقات.
ضمّ صور PNG النقطية داخل حاوية متجهة من نوع SVG XML للقياس المتجاوب على الويب والتكامل مع التخطيطات المتوافقة مع المتجهات.
قم بتحويل رسومات Adobe Photoshop PSD إلى صور PNG خالية من الفقد مع شفافية قناة ألفا الكاملة مباشرة في متصفحك دون أي إرسال للخادم.