حد 256 لونًا في GIF والانتقال إلى PNG
4 دقيقة للقراءة
من أين يأتي الرقم 256
لفهم GIF ينبغي أولًا فهم كيفية تخزينه، لأن طابع التنسيق كله ينبع من هنا.
فـ GIF قائم على اللوحة اللونية. إذ يوجد داخل الملف جدول ألوان. ويحمل كل بكسل رقم مدخلة في هذا الجدول بدلًا من حمل قيمة لونه الخاصة. أي أن البكسل لا يقول "أحمر"، بل يقول "اللون رقم 47 في الجدول".
ويُعبَّر عن هذا المؤشر بـ 8 بتات لكل بكسل. و8 بتات لا تأخذ أكثر من 256 قيمة مختلفة. وبالتالي لا يمكن أن يوجد في إطار GIF أكثر من 256 لونًا مختلفًا.
وهذا ليس إعداد جودة ولا خيار ضغط. بل حد صارم راسخ في بنية بيانات التنسيق. وبإمكانك اختيار أي الألوان ستكون ضمن الـ256 في اللوحة — إذ تُنتَج لوحة مختلفة لمنظر طبيعي يغلب عليه الأخضر وأخرى لصورة بحر يغلب عليها الأزرق — لكن لا يمكنك زيادة العدد.
التشوهان اللذان يُحدثهما الحد في الصور الفوتوغرافية
في المحتوى قليل الألوان مثل الرسوميات والشعارات تكون 256 لونًا أكثر من كافية. وتبدأ المشكلة في الصور الفوتوغرافية، لأن الصورة النموذجية تتضمن عشرات آلاف الدرجات اللونية المختلفة. وخفض ذلك إلى 256 يُنتج تشوهين مميزين.
التشريط. ففي التدرجات الناعمة مثل السماء ولون البشرة وانتقالات الظل تضيع الدرجات الوسيطة. ويتحول الانتقال الذي ينبغي أن يكون متصلًا إلى أشرطة لونية منفصلة بعضها عن بعض على نحو مرئي. وترى ذلك أوضح ما يكون في صورة غروب.
الاهتزاز اللوني. وهو تقنية تعويضية تُستخدم لإخفاء التشريط. إذ يُخلَق انطباع بدرجة وسيطة عند النظر من بعيد عبر نثر لونين من اللوحة في نمط نقطي. وينجح ذلك من بعيد لكنه يمنح الصورة نسيجًا رمليًا منقّطًا. ويصبح هذا النمط ظاهرًا بوضوح عند النظر من قرب أو عند تكبير الصورة.
ويفسّر هذان التشوهان معًا سبب كون GIF حاملًا سيئًا للصور الفوتوغرافية. فلم يُصمَّم التنسيق للصور الفوتوغرافية قط؛ بل كان للرسوميات البسيطة والرسوم والحركات القصيرة.
ماذا يحل PNG وماذا لا يحل
PNG يعمل دون حد للوحة الألوان. فبإمكانه تخزين قيم RGB مباشرة لكل بكسل، أي إنه يستطيع حمل ملايين الألوان المختلفة.
والانطلاق من ذلك إلى استنتاج "إذا حوّلت GIF إلى PNG تتحسن الألوان" مغالطة شديدة الشيوع. والحقيقة هي:
PNG يصون الـ256 لونًا القائمة صونًا تامًا. فلا يحدث أي فقد في التحويل، والمُخرَج مطابق للأصل بكسلًا ببكسل. وهذا خبر سار.
وPNG لا يستطيع استعادة الألوان الضائعة. فعندما خُفِّضت الصورة المصدر إلى 256 لونًا أثناء إنتاج GIF، ذهبت في تلك اللحظة عشرات آلاف الدرجات نهائيًا. وهذه المعلومات غير موجودة في ملف GIF إطلاقًا. وPNG لا يستطيع قراءة ما ليس موجودًا.
والنتيجة أن التشريط يبقى في مُخرَج PNG كما هو. ويبقى نمط الاهتزاز اللوني كما هو. ولا تصبح الصورة أغنى لونًا، بل تُنقَل إلى حاوية أقدر فحسب.
والسبيل الوحيد لبلوغ ثراء لوني حقيقي هو العودة إلى الملف المصدر الأصلي الذي أُنتج منه GIF. فإن كان متوفرًا فأنتج PNG أو WEBP منه مباشرة — ولا تدُر عبر GIF.
ثمة حد مماثل في الشفافية
إلى جانب حد الألوان في GIF يوجد حد للشفافية أيضًا، وهو يعمل بالمنطق نفسه.
فشفافية GIF ثنائية: إذ يكون البكسل إما شفافًا تمامًا وإما معتمًا تمامًا. ولا توجد أي قيمة بينهما. فيُوسَم لون في اللوحة بأنه "شفاف" فتصبح البكسلات الحاملة لذلك اللون غير مرئية، وانتهى الأمر.
والنتيجة العملية لذلك هي ظهور الحواف المستديرة والمائلة على هيئة درجات سلّم. فحواف شعار بصيغة GIF مسننة دائمًا لأن التنسيق لا يسمح بانتقال ناعم.
أما قناة ألفا في PNG فتستطيع تخزين 256 مستوى شفافية مختلفًا لكل بكسل. فتصبح الانتقالات الناعمة من الظهور التام إلى الاختفاء التام ممكنة.
لكن هذه القدرة، تمامًا كما في الألوان، لا تعمل بأثر رجعي. فـ PNG يمنحك إمكانية إنتاج حافة ناعمة؛ ولا يصلح تلقائيًا الحواف المسننة الآتية من GIF. فمعلومات نصف الشفافية لم تكن موجودة في الملف المصدر إطلاقًا، وPNG لا يستطيع اختراعها.
فماذا يمنح التحويل إذن؟
المكسب ليس في إصلاح الماضي، بل في رفع القيود لما هو آتٍ.
ينتهي ضغط اللوحة اللونية. فعندما تُجري تحريرًا على GIF وتحفظه، يُرهق كل لون جديد تضيفه اللوحةَ ويُعاد ضغط الملف إلى 256 لونًا. وكل عملية حفظ تضيف خفضًا جديدًا فوق سابقتها. وبعد تحويل GIF إلى PNG يزول هذا الضغط؛ فبإمكانك إضافة ما شئت من الألوان والحفظ مرات ومرات.
تصبح الشفافية الناعمة ممكنة. إذ يمكنك تصحيح الحواف يدويًا وإنشاء انتقالات نصف شفافة. وكان ذلك مستحيلًا تقنيًا في GIF.
يزداد التوافق. فالمحرّرات والأنظمة الحديثة تفتح PNG مباشرةً بصيغة RGB. أما بنية اللوحة اللونية في GIF فتُنتج في بعض الأدوات خطوات تحويل إضافية وسلوكيات غير متوقعة.
خلاصة القول
حد 256 لونًا في GIF مضمَّن في بنية بيانات التنسيق، ويُظهر نفسه في الصور الفوتوغرافية على هيئة تشريط واهتزاز لوني. وPNG لا يحمل هذا الحد، لكنه لا يستطيع أيضًا إنتاج ألوان غير موجودة في ملف GIF الذي بحوزتك. والتحويل يصون الصورة القائمة صونًا تامًا ويرفع قيود اللوحة والشفافية لما هو آتٍ. فإذا أردت استعادة الألوان فعلًا، فالمكان الذي ينبغي البحث فيه ليس المحوّل، بل الملف المصدر الأصلي.
الأسئلة الشائعة
لماذا لا يدعم GIF سوى 256 لونًا؟
GIF تنسيق قائم على اللوحة اللونية؛ إذ يُحفظ في الملف جدول ألوان ويحمل كل بكسل رقم مدخلة في هذا الجدول بدلًا من قيمة اللون الحقيقية. وعند تصميم التنسيق خُصِّص لكل بكسل مؤشر بطول 8 بتات، و8 بتات لا تعبّر عن أكثر من 256 قيمة مختلفة. وهذا حد صارم راسخ في بنية التنسيق، لا إعداد ولا خيار جودة. ويمكن اختيار أي الألوان ستكون ضمن الـ256 في جدول الألوان، لكن لا يمكن تغيير العدد.
ما الاهتزاز اللوني ولماذا يُرى في ملفات GIF؟
الاهتزاز اللوني تقنية تخلط البكسلات في نمط نقطي لإيهام العين بوجود ألوان أكثر ضمن لوحة محدودة. فإذا لم تكن في لوحتك درجات وسيطة مثلًا، فإنك بنثر لونين متوفرين تعطي انطباعًا بدرجة وسيطة عند النظر من بعيد. وحد 256 لونًا في GIF يجعل هذه التقنية ضرورة، خصوصًا في الصور الفوتوغرافية. والنتيجة تبدو مقبولة من بعيد لكن الصورة تكتسب من قرب نسيجًا رمليًا منقّطًا.
هل تعود الألوان عند التحويل إلى PNG؟
لا. فـ PNG يستطيع تخزين ملايين الألوان لكن في ملف GIF الذي بحوزتك 256 لونًا فحسب أصلًا. وPNG يصون هذه الألوان الـ256 كلها صونًا تامًا، لكنه لا يستطيع إعادة إنتاج الألوان التي أُسقطت عند إنتاج GIF لأن تلك المعلومات غير موجودة في الملف إطلاقًا. ويبقى التشريط وأنماط الاهتزاز اللوني في مُخرَج PNG كما هي. والسبيل الوحيد لبلوغ ثراء لوني حقيقي هو العودة إلى الصورة المصدر الأصلية التي أُنتج منها GIF.
فما معنى تحويل GIF إلى PNG إذن؟
معناه نقل الملف إلى حاوية أقدر لما هو آتٍ. فـ PNG يعمل دون حد للوحة الألوان، وبالتالي يمكنك إضافة ألوان جديدة إلى الصورة وإجراء تحرير عليها؛ ولو عملت على GIF لأُعيد ضغط اللوحة إلى 256 لونًا في كل عملية حفظ. كما أن قناة ألفا في PNG تتيح انتقالات شفافية ناعمة، وPNG يُفتح في المحرّرات الحديثة بصيغة RGB دون مشكلة. فالمكسب ليس في إصلاح الماضي، بل في رفع القيود لما هو آتٍ.
جرّب ذلك الآن باستخدام GIF → PNG Dönüştür.
جرّب GIF → PNG Dönüştür