超 HDR 圖片格式可讓圖片儲存更多資訊 產生更細緻的高亮度和陰影 還有更多鮮明的色彩Android 開始支援 Ultra HDR 圖片 與 Android 14 (API 級別 34) 相容。如果你的應用程式正在這些版本中運作 請務必設定您的應用程式,以正確顯示這些圖片。另一部 如果應用程式未顯示 Ultra HDR 圖片,您可以將裝置 不必啟用 Ultra HDR 螢幕本頁說明如何確認 以及如何正確顯示圖像。
![圖片顯示標準動態範圍與高動態範圍之間的差異。圖片顯示擁有多雲天空的風景。右半部則是模擬 HDR 效果,具備較亮的高亮度、陰影部分和更鮮明的色彩。](https://developer.android.google.cn/static/media/images/grow/ultrahdr-simulation.png?authuser=0000&hl=zh-tw)
檢查增益地圖是否存在
Ultra HDR 圖片包含反轉地圖。增益圖為
用於判斷圖片中每個像素的增加亮度。如何進行驗證
如果圖片為 Ultra HDR 格式,請將圖像或可繪項目轉換為
Bitmap
,並呼叫 Bitmap.hasGainMap()
(自 Android 14 起推出) 檢查是否有取得地圖。
設定視窗以顯示 Ultra HDR
如要顯示完整動態範圍的 Ultra HDR 圖片,請設定視窗色彩
模式設為 ActivityInfo.COLOR_MODE_HDR
。方法是呼叫
視窗的 setColorMode()
方法。(這些 API 是
提供的功能但不會以 UHD 超高畫質顯示圖像
裝置執行 Android 14 以上版本)。
平台比一比
下列程式碼顯示整個程序的樣子。這段程式碼假設
會載入點陣圖,然後檢查圖片是否有取得地圖如果是,
程式碼會將視窗的顏色模式切換為 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 圖片,請參閱下列其他資源:
- 影片:建立高品質的 Android 媒體 體驗
- 範例應用程式:顯示 Ultra HDR
- 超 HDR 圖片格式規格