لوحة في الحوسبة

في رسومات الكمبيوتر ، لوحة الألوان هي مجموعة محدودة من الألوان. يمكن تحسين اللوحات لتحسين دقة الصورة في وجود قيود على البرامج أو الأجهزة.

المصطلح
لوحة ألوان متوائمة تمتد من لونين إلى 256 لونًا ، لتوضيح كيفية تغيير الصورة (انقر لرؤية الرسوم المتحركة).
بالاعتماد على السياق ، يمكن أن تحتوي مصطلحات لوحة الألوان والمصطلحات ذات الصلة مثل لوحة الويب ولوحة ألوان RGB على معاني مختلفة إلى حد ما. فيما يلي بعض المعاني المستخدمة على نطاق واسع للوحة الألوان في رسومات الكمبيوتر:

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

التحديد المحدود للألوان التي يمكن عرضها في وقت واحد:
على الشاشة بأكملها:
اختيار لوح ألوان ثابت: يمكن لمحول شاشة محدد أن يوفر اختيارًا ثابتًا للألوان عندما يتم ضبط تسجيلات الأجهزة بشكل مناسب. على سبيل المثال ، يمكن تعيين Color Graphics Adapter (CGA) ، في أحد أوضاع الرسومات القياسية ، لإظهار ما يسمى باللوحة # 1 أو اللوحة # 2: مجموعتين من 3 ألوان ثابتة ولون خلفية واحد معرف من قبل المستخدم كل.
ألوان محددة أو ألوان منتقاة: في هذه الحالة ، يتم اختيار اختيار اللون ، بشكل عام من لوحة كاملة أوسع متاحة بشكل واضح ، بواسطة البرنامج ، سواء بواسطة المستخدم أو البرنامج. على سبيل المثال ، يُقال أن محول العرض القياسي VGA يوفر لوحًا من 256 لونًا متزامنًا من إجمالي 262،144 لونًا مختلفًا.
لوحة الألوان الافتراضية أو لوحة النظام: تم تحديد الألوان المحددة المحددة رسميًا من قبل بعض الهيئات أو المؤسسات. على سبيل المثال ، ألوان الويب الآمنة المعروفة للاستخدام مع متصفحات الإنترنت ، أو لوحة الألوان الافتراضية لـ Microsoft Windows.

على صورة فردية:
خريطة ملونة أو جدول ألوان: يتم تخزين التحديد المحدود للألوان داخل ملف صورة ملونة مفهرسة. على سبيل المثال ، GIF.
ألوان الصورة أو ألوان الصورة: من المفترض أن يكون التحديد المحدود للألوان هو القائمة الكاملة للألوان التي تحتويها الصورة الرقمية المعطاة ، حتى عندما لا يستخدم ملف الصورة ترميز بكسل مفهرس بالألوان.
الأجهزة الأساسية التي يمكن استخدامها للاحتفاظ بتلك الألوان المتزامنة:
لوح ألوان أو جدول بحث لون (CLUT): لعرض هذه القيم ، يجب تحميل قيم الألوان المحددة في سجلات الأجهزة الملونة لنظام العرض الفرعي. على سبيل المثال ، تُعرف سجلات الأجهزة الخاصة بـ Commodore Amiga كأنها لوحة ألوانها و CLUT الخاصة بها ، اعتمادًا على المصادر.

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

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

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

يمكن ملء لوحة رئيسية بهذه الطريقة بما يصل إلى 8R × 8G × 4B = 256 لونًا ، ولكن هذا لا يترك مساحة في اللوحة للألوان المحجوزة ومؤشرات الألوان التي يمكن للبرنامج استخدامها لأغراض خاصة. من الأعم استخدام 6R × 6G × 6B = 216 (كما هو الحال في حالة ألوان الويب) ، 6R × 8G × 5B = 240 أو 6R × 7G × 6B = 252 ، مما يترك مساحة لبعض الألوان المحجوزة.

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

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

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

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

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

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

بعض أجهزة الكمبيوتر المبكرة ، مثل Commodore 64 و MSX و Amiga تدعم العفاريت و / أو تراكب الفيديو ملء الشاشة بواسطة الأجهزة. في هذه الحالات ، يتم تعريف رقم إدخال لوح الألوان الشفاف بواسطة الجهاز ، وكان يُستخدم الرقم 0.

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

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

يمكن لبرامج الرسم ثنائية الأبعاد ، مثل Microsoft Paint و Deluxe Paint ، أن تستخدم لون الخلفية المعيّن للمستخدم بلون شفاف عند إجراء عمليات القطع والنسخ واللصق.

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

لوحات البرامج

مايكروسوفت ويندوز
تقوم تطبيقات Microsoft Windows بإدارة لوحة ألوان أجهزة عرض الألوان المفهرسة ذات 4 بتات أو 8 بت من خلال وظائف متخصصة في Win32 API (بالنسبة لأوضاع عرض Highcolor و Truecolor ، تفتقر هذه الوظائف إلى أي وظيفة مثيرة للاهتمام). هذه APIs يتعامل مع لوحة النظام يسمى ومع العديد من اللوحات المنطقية.

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

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

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

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

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