تعديل الصور بتقنية Ultra HDR

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

الخبر السار هو أنّ معظم طرق تعديل الصور النقطية في Android تتيح استخدام تنسيق صور دقة HDR فائقة. إذا كنت تجري تعديلات أساسية على صورة، مثل اقتصاصها أو تدويرها، فإنّ الطرق العادية في Android تفي بالغرض، وستحصل على صورة بتنسيق Ultra HDR بالأبعاد أو الاتجاه الجديدَين.

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

نظرة عامة على تنسيق دقة HDR فائقة

يتم وصف تنسيق صور دقة HDR فائقة بالتفصيل في مواصفات صور دقة HDR فائقة. الأهم هو فهم أنّ صورة دقة HDR فائقة تحتوي على صورة أساسية وخريطة كسب.

  • تحتوي الصورة الأساسية على معلومات الألوان لكل بكسل في الصورة.
  • إنّ خريطة الكسب هي صورة JPEG عادية لها النِّسب نفسها للصورة الأساسية، ولكن ليس بالضرورة أن تكون لها أبعاد البكسل نفسها. يحدّد كل بكسل في خريطة الكسب درجة سطوع الجزء المقابل من الصورة الأساسية.

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

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

التعديلات الأساسية على صور دقة HDR فائقة

إذا كنت تستخدم واجهات برمجة التطبيقات Bitmap في Android لإجراء تحويلات أساسية على صورة بتنسيق دقة HDR فائقة، فإنّ الطرق تُجري التغييرات المناسبة على خريطة الكسب. عمليات Bitmap التالية متاحة:

  • التدوير: إذا دوّرت صورة بتنسيق دقة HDR فائقة، فإنّ الطريقة تُدوِّر خريطة الكسب أيضًا.
  • الاقتصاص: إذا اقتصصت صورة بدقة HDR فائقة، فإنّ الطريقة تقص خريطة الكسب بشكل مناسب.
  • تغيير الحجم: إذا غيّرت حجم صورة بتنسيق دقة HDR فائقة، فإنّ الطريقة تغيّر حجم خريطة الكسب بحيث يكون عرضها وارتفاعها نصف عرض وارتفاع الصورة الأساسية التي تم تغيير حجمها.

في كل حالة، يتم الاحتفاظ بمعلومات السطوع.

التعديلات المتقدّمة على صور دقة HDR فائقة

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

تشمل التعديلات الشائعة التي قد تؤدي إلى هذه الحالة ما يلي:

  • إضافة ملصقات أو رموز تعبيرية: سيكون للملصق المُضاف قيم السطوع وكثافة الألوان نفسها في المنطقة التي تم لصقه عليها.
  • تراكب صورة ثانية: ستستخدم الصورة الجديدة معلومات السطوع وكثافة الألوان الخاصة بالمحتوى الذي يتم تراكبه.
  • إضافة فلاتر: قد لا تكون معلومات خريطة الكسب القديمة مناسبة للصورة الأساسية المعدَّلة.

في كل حالة، يتم الاحتفاظ بمعلومات السطوع وكثافة الألوان القديمة، ولكن قد لا تكون مناسبة للصورة المعدَّلة.

إذا كانت خريطة الكسب الأصلية مناسبة للصورة المعدَّلة، ليس عليك اتّخاذ أي إجراء. إذا كنت تريد تعديل خريطة الكسب، فإنّ سير العمل المعتاد هو:

  1. استرداد خريطة الكسب الحالية للصورة من خلال استدعاء Bitmap.getGainmap() وتخزينها مؤقتًا.
  2. تعديل الصورة الأساسية حسب الرغبة.
  3. إجراء تعديلات مماثلة على خريطة الكسب المخزّنة مؤقتًا. على سبيل المثال، إذا لصقت رمزًا تعبيريًا على الصورة الأساسية، يمكنك ضبط الجزء المقابل من خريطة الكسب على قيمة محايدة، مثل Color.GRAY.

  4. تطبيق خريطة الكسب المعدَّلة على الصورة من خلال استدعاء Bitmap.setGainmap().

مراجع إضافية

لمعرفة المزيد عن صور دقة HDR فائقة، اطّلِع على المَراجع الإضافية التالية: