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.
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:
- Video: Yüksek kaliteli Android medya deneyimleri oluşturma
- Örnek uygulama: Ultra HDR görüntüleme
- Ultra HDR resim biçimi özellikleri