ویرایش تصاویر Ultra HDR

قالب تصویر Ultra HDR اطلاعات درخشندگی را کدگذاری می‌کند که به دستگاه‌ها امکان می‌دهد تصاویر روشن‌تر با رنگ‌های شدیدتر نمایش دهند. وقتی برنامه‌تان تصویر Ultra HDR را ویرایش می‌کند، باید مطمئن شوید که اطلاعات درخشندگی حفظ می‌شود. این موضوع حتی اگر دستگاه کاربر از نمایش تصویر Ultra HDR با شدت کامل پشتیبانی نکند، مهم است. به‌هرحال، ممکن است کاربر تصویرش را با فردی که دستگاهش از Ultra HDR پشتیبانی می‌کند هم‌رسانی کند، یا ممکن است آن تصویر را ذخیره کند و سال‌ها بعد دوباره آن را در دستگاه جدیدی ببیند.

خبر خوب این است که اکثر روش‌های Android برای ویرایش نگاشت‌های بیتی از قالب تصویر Ultra HDR پشتیبانی می‌کنند. اگر ویرایش‌های پایه‌ای روی تصویر انجام می‌دهید، مثل برش دادن یا چرخاندن آن، روش‌های استاندارد Android این کار را انجام می‌دهند—درنهایت تصویر Ultra HDR با ابعاد یا جهت جدید خواهید داشت.

اگر محتوای تصویر را اصلاح کنید، کار دشوارتر می‌شود. در این موارد، روش‌های ویرایش استاندارد اطلاعات درخشندگی تصویر قدیمی را حفظ می‌کنند که ممکن است چیزی نباشد که شما می‌خواهید. در این موارد، ممکن است لازم باشد نقشه بهره (که اطلاعات درخشندگی تصویر را کدگذاری می‌کند) را ویرایش یا حذف کنید تا نتیجه درست را به‌دست آورید.

نمای کلی قالب Ultra HDR

قالب تصویر Ultra HDR به‌طور دقیق در مشخصات تصویر Ultra HDR شرح داده شده است. مهم‌ترین چیزی که باید بدانید این است که تصویر Ultra HDR هم حاوی تصویر اصلی است و هم نقشه بهره.

  • تصویر اصلی حاوی اطلاعات رنگ برای هر پیکسل تصویر است.
  • نقشه بهره یک تصویر JPEG استاندارد با همان نسبت‌های تصویر اصلی است، هرچند لزوماً ابعاد پیکسلی یکسانی ندارد. هر پیکسل از نقشه بهره، درخشندگی بخش مربوطه از تصویر اصلی را مشخص می‌کند.

نقشه بهره می‌تواند سیاه و سفید یا رنگی باشد. اگر نقشه بهره رنگی باشد، هر کانال رنگی در نقشه بهره، درخشندگی آن کانال رنگی را در بخش مربوطه از تصویر اصلی مشخص می‌کند. اگر نقشه بهره در مقیاس خاکستری باشد، هر پیکسل نقشه بهره، درخشندگی هر سه کانال رنگی را در آن بخش از تصویر اصلی مشخص می‌کند.

نقشه بهره باید نسبت‌های یکسانی با تصویر اصلی داشته باشد، اما لازم نیست ابعاد پیکسلی یکسانی داشته باشد. درواقع، وقتی پلاتفرم Android تصاویر Ultra HDR ایجاد می‌کند، نقشه بهره‌ای با عرض و ارتفاع کوچک‌تر از تصویر اصلی ایجاد می‌کند؛ این کار اندازه فایل را به‌طور قابل‌توجهی کوچک‌تر می‌کند، اما همچنان اطلاعات کافی را برای نتیجه خوب کدبندی می‌کند. این یعنی هر پیکسل در نقشه بهره ممکن است اطلاعات درخشندگی را برای چندین پیکسل در تصویر اصلی ذخیره کند.

ویرایش‌های پایه «وضوح فوق‌العاده بالا»

اگر از میاناهای برنامه‌سازی کاربردی Android Bitmap برای ایجاد تبدیل‌های پایه در تصویر Ultra HDR استفاده کنید، این روش‌ها تغییرات مناسب را در نقشه بهره ایجاد می‌کنند. عملیات Bitmap زیر پشتیبانی می‌شود:

  • چرخاندن: اگر تصویر Ultra HDR را بچرخانید، این روش نقشه بهره را نیز می‌چرخاند.
  • برش: اگر تصویر Ultra HDR را برش دهید، این روش نقشه بهره را به‌طور مناسب برش می‌دهد.
  • مقیاس: اگر تصویر Ultra HDR را مقیاس‌بندی کنید، این روش نقشه بهره را مقیاس‌بندی می‌کند به‌طوری‌که نصف عرض و نصف ارتفاع تصویر اصلی تغییراندازه‌داده‌شده را داشته باشد.

در هر مورد، اطلاعات درخشندگی حفظ می‌شود.

ویرایش‌های پیشرفته Ultra HDR

اگر ویرایش‌های پیچیده‌تری روی تصویر Ultra HDR انجام دهید، نقشه بهره بدون تغییر حفظ می‌شود که ممکن است نتایج دلخواهتان را ارائه ندهد.

ویرایش‌های رایجی که ممکن است منجر به این وضعیت شود عبارتند از:

  • افزودن برچسب یا اموجی: برچسب اضافه‌شده همان مقادیر درخشندگی و شفافیت رنگ را خواهد داشت که ناحیه جای‌گذاری‌شده دارد.
  • رونهاد کردن تصویر دوم: تصویر جدید از اطلاعات درخشندگی و وضوح رنگ محتوایی که روی آن رونهاد می‌شود استفاده می‌کند.
  • افزودن فیلتر: ممکن است اطلاعات نقشه بهره قدیمی برای تصویر اصلی اصلاح‌شده مناسب نباشد.

در هر مورد، اطلاعات درخشندگی و شفافیت رنگ قدیمی حفظ می‌شود، اما ممکن است برای تصویر اصلاح‌شده مناسب نباشد.

اگر نقشه بهره اصلی برای تصویر ویرایش‌شده مناسب باشد، لازم نیست کاری انجام دهید. اگر می‌خواهید نقشه بهره را اصلاح کنید، گردش کار معمول به این صورت است:

  1. با فراخوانی Bitmap.getGainmap()، نقشه بهره فعلی تصویر را واکشی کنید و آن را در حافظه نهان ذخیره کنید.
  2. تصویر اصلی را به‌دلخواه اصلاح کنید.
  3. ویرایش‌های مربوطه را در نقشه بهره ذخیره‌شده در حافظه نهان اعمال کنید. برای مثال، اگر اموجی‌ای را روی تصویر اصلی جای‌گذاری کرده‌اید، می‌توانید بخش مربوطه از نقشه بهره را روی مقدار خنثی، مثل Color.GRAY، تنظیم کنید.

  4. با فراخوانی Bitmap.setGainmap()، نقشه بهره اصلاح‌شده را دوباره روی تصویر اعمال کنید.

منابع بیشتر

برای کسب اطلاعات بیشتر درباره تصاویر Ultra HDR، منابع اضافی زیر را ببینید: