Ultra HDR resim biçimi, resimlerin ışık yoğunluğu hakkında daha fazla bilgi depolamasına olanak tanır. Böylece, daha ayrıntılı parlak alanlar ve gölgeler, daha yoğun renkler elde edilir. Android, Android 14'ten (API düzeyi 34) itibaren Ultra HDR resimleri destekler. Uygulamanız bu sürümlerde çalışıyorsa uygulamanızı bu resimleri düzgün görüntüleyecek şekilde yapılandırmak önemlidir. Öte yandan, uygulamanızda Ultra HDR resimler 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 ş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ünün bulunduğu bir manzara gösteriliyor. HDR'nin simüle edildiği sağ yarıda daha parlak vurgular, daha koyu gölgeler ve daha net renkler var.](https://developer.android.com/static/media/images/grow/ultrahdr-simulation.png?authuser=7&hl=tr)
Kazanç haritası olup olmadığını kontrol etme
Ultra HDR görüntüler bir kazanç haritası içerir. Kazanç haritası, resimdeki her bir pikselin artan parlaklığını belirlemek için kullanılır. Bir resmin Ultra HDR biçiminde olup olmadığını doğrulamak için resmi veya çekilebilir videoyu Bitmap
biçimine dönüştürün ve kazanç haritasına sahip olup olmadığını kontrol etmek için Bitmap.hasGainMap()
numaralı telefonu (Android 14'ten itibaren kullanılabilir) arayın.
Pencerenizi Ultra HDR'yi gösterecek şekilde yapılandırma
Ultra HDR resimleri tam dinamik aralıkla 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'den itibaren kullanılabilir. Ancak cihaz Android 14 veya sonraki bir sürümü çalıştırmıyorsa resimler Ultra HDR kalitesinde görüntülenmez.)
Özet
Aşağıdaki kod tüm işlemin nasıl göründüğünü gösterir. Bu kod, bir görüntünün Bit Eşleme'ye 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 kaynakları inceleyin:
- Video: Yüksek kaliteli Android medya deneyimleri oluşturma
- Örnek uygulama: Ultra HDR görüntüleme
- Ultra HDR resim biçimi özellikleri