Ultra HDR görüntüleri göster

Ultra HDR resim biçimi, resimlerin ışık yoğunluğu hakkında daha fazla bilgi depolamasına olanak tanır. Bu sayede parlak alanları ve gölgeleri daha ayrıntılı şekilde görebilir ve daha yoğun renkler elde edebilirsiniz. Android, Android 14'ten (API düzeyi 34) itibaren Ultra HDR görüntüleri destekler. Uygulamanız bu sürümlerde çalışıyorsa uygulamanızı bu resimleri düzgün bir şekilde görüntüleyecek şekilde yapılandırmak önemlidir. Öte yandan, uygulamanızda Ultra HDR görüntüler gösterilmiyorsa Ultra HDR ekranı etkinleştirmeyerek cihaz kaynaklarından tasarruf edebilirsiniz. Bu sayfada, grafiklerin Ultra HDR'yi destekleyip desteklemediğini nasıl kontrol edeceğiniz ve bunları nasıl düzgün bir şekilde görüntüleyeceğiniz açıklanmaktadır.

Standart dinamik aralık ile yüksek dinamik aralık arasındaki farkın simülasyonunu gösteren grafik. Grafikte, bulutlu gökyüzü olan bir manzara gösteriliyor. Sağ tarafta ise HDR'nin simüle edildiği görülüyor. Parlak alanlar, daha koyu gölgeler ve daha net renkler kullanılıyor.
Şekil 1. Standart dinamik aralık (SDR) ve yüksek dinamik aralıklı (HDR) görüntüler arasındaki farkın simülasyonu. Cihaz HDR'yi destekliyorsa görüntüler daha koyu gölgelere ve daha parlak parlak alanlara sahip olabilir.

Kazanç haritası olup olmadığını kontrol etme

Ultra HDR resimlerde kazanç haritası bulunur. Kazanç haritası, resimdeki her bir pikselin artan parlaklığını belirlemek için kullanılır. Bir görüntünün Ultra HDR biçiminde olup olmadığını doğrulamak için görüntüyü veya çekilebilir malzemeyi Bitmap biçimine dönüştürün ve Bitmap.hasGainMap() numaralı telefonu arayarak (Android 14'ten itibaren kullanılabilir) harita kazanıp kazanmadığını kontrol edin.

Pencerenizi Ultra HDR'yi görüntüleyecek şekilde yapılandırma

Ultra HDR resimleri tam dinamik aralıkta görüntülemek için pencerenin renk modunu ActivityInfo.COLOR_MODE_HDR olarak ayarlayın. Bunu, pencerenin setColorMode() yöntemini çağırarak yapın. (Bu API'ler Android 8'de kullanılabilir. Ancak cihazlarda Android 14 veya sonraki bir sürüm yüklü değilse görüntüler Ultra HDR olarak gösterilmez.)

Bir araya getiriliyor

Aşağıdaki kod tüm işlemin nasıl göründüğünü göstermektedir. Bu kod, bir görüntünün Bit Eşlem'e yüklendiğini varsayar ve resmin kazanç haritasına sahip olup olmadığını kontrol eder. Bu durumda kod, pencerenin renk modunu COLOR_MODE_HDR olarak değiştirir. Resimde kazanç haritası yoksa kod, pencereyi varsayılan renk moduna geçirir.

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);

Ek kaynaklar

Ultra HDR görüntüler hakkında daha fazla bilgi edinmek için aşağıdaki ek kaynaklara bakın: