הצגת תמונות Ultra HDR

פורמט התמונה Ultra HDR מאפשר לשמור בתמונות יותר מידע על עוצמת האור, וכך האזורים הבהירים והכהים מפורטים יותר והצבעים עזים יותר. ‫Android תומך בתמונות Ultra HDR החל מ-Android 14 (רמת API‏ 34). אם האפליקציה שלכם פועלת בגרסאות האלה, חשוב להגדיר אותה כך שתציג את התמונות האלה בצורה נכונה. מצד שני, אם האפליקציה לא מציגה תמונות Ultra HDR, אתם יכולים לחסוך במשאבי המכשיר ולא להפעיל את התצוגה של Ultra HDR. בדף הזה מוסבר איך לבדוק אם הגרפיקה תומכת ב-Ultra HDR ואיך להציג אותה בצורה נכונה.

בודקים אם יש מפת בהירות.

תמונות Ultra HDR מכילות מפת הגבר. מפת הבהירות משמשת לקביעת הבהירות המוגברת של כל פיקסל בתמונה. כדי לבדוק אם תמונה היא בפורמט Ultra HDR, ממירים את התמונה או את ה-drawable ל- Bitmap וקוראים ל-Bitmap.hasGainMap() (זמין החל מ-Android 14) כדי לבדוק אם יש לה מפת רווח.

הגדרת החלון להצגת Ultra HDR

כדי להציג תמונות Ultra HDR עם טווח דינמי מלא, מגדירים את מצב הצבע של החלון לערך ActivityInfo.COLOR_MODE_HDR. כדי לעשות את זה, קוראים ל-method‏ setColorMode() של החלון. (ממשקי ה-API האלה זמינים החל מ-Android 8, אבל התמונות לא מוצגות ב-Ultra HDR אלא אם במכשיר פועלת מערכת Android מגרסה 14 ואילך).

סיכום של כל המידע

הקוד הבא מראה איך התהליך כולו נראה. הקוד הזה מניח שתמונה נטענת ל-Bitmap, ובודק אם לתמונה יש מפת רווח. אם כן, הקוד משנה את מצב הצבע של החלון ל-COLOR_MODE_HDR. אם לתמונה אין מפת רווח, הקוד מעביר את החלון למצב הצבע שמוגדר כברירת מחדל.

Kotlin

val bitmap = /* Get Bitmap from Image Resource */
binding.imageContainer.setImageBitmap(bitmap)

// Set color mode of the activity to the correct color mode.
requireActivity().window.colorMode =
   if (bitmap.hasGainmap()) ActivityInfo.COLOR_MODE_HDR else ActivityInfo.COLOR_MODE_DEFAULT

Java

final Bitmap bitmap = /* Get Bitmap from Image Resource */
binding.imageContainer.setImageBitmap(bitmap);

// Set color mode of the activity to the correct color mode.
int colorMode = ActivityInfo.COLOR_MODE_DEFAULT;
if (bitmap.hasGainmap()) colorMode = ActivityInfo.COLOR_MODE_HDR;
requireActivity().getWindow().setColorMode(colorMode);

מקורות מידע נוספים

מידע נוסף על תמונות Ultra HDR זמין במקורות המידע הבאים: