Ultra HDR resim biçimi, cihazların daha yoğun renklerle daha parlak resimler göstermesini sağlayan parlaklık bilgilerini kodlar. Uygulamanız bir Ultra HDR resmi düzenlediğinde bu parlaklık bilgisini korumanız gerekir. Bu, kullanıcının cihazı Ultra HDR görüntüyü tam yoğunlukta görüntülemeyi desteklemese bile önemlidir. Kullanıcı, görüntüsünü Ultra HDR'yi destekleyen bir cihazı olan biriyle paylaşabilir veya bu görüntüyü kaydedip yıllar sonra yeni bir cihazda tekrar bakabilir.
İyi haber şu ki bitmap'leri düzenlemeye yönelik çoğu Android yöntemi, Ultra HDR resim biçimini destekliyor. Bir resimde kırpma veya döndürme gibi temel düzenlemeler yapıyorsanız standart Android yöntemleri işinizi görür. Sonuçta yeni boyutlara veya yöne sahip bir Ultra HDR resim elde edersiniz.
Resmin içeriğini değiştiriyorsanız işiniz daha zor olur. Bu gibi durumlarda, standart düzenleme yöntemleri eski görüntünün parlaklık bilgilerini korur. Bu, istediğiniz bir şey olmayabilir. Bu durumlarda, doğru sonucu elde etmek için kazanç haritasını (görüntünün parlaklık bilgilerini kodlar) düzenlemeniz veya kaldırmanız gerekebilir.
Ultra HDR biçimine genel bakış
Ultra HDR resim biçimi, Ultra HDR Resim spesifikasyonunda ayrıntılı olarak açıklanmıştır. Ultra HDR resimlerin hem birincil resim hem de kazanç haritası içerdiğini bilmek önemlidir.
- Birincil resim, resmin her pikseli için renk bilgilerini içerir.
- Kazanç haritası, birincil görüntüyle aynı oranlara sahip standart bir JPEG görüntüsüdür ancak piksel boyutları aynı olmayabilir. Kazanç haritasının her pikseli, birincil görüntünün ilgili bölümünün parlaklığını belirtir.
Kazanç haritası gri tonlamalı veya renkli olabilir. Kazanç haritası renkliyse kazanç haritasındaki her renk kanalı, birincil görüntünün ilgili bölümündeki o renk kanalının parlaklığını belirtir. Kazanç haritası gri tonlamalıysa kazanç haritasının her pikseli, birincil görüntünün ilgili bölümündeki üç renk kanalının da parlaklığını belirtir.
Kazanç haritası, birincil resimle aynı oranlara sahip olmalıdır ancak aynı piksel boyutlarına sahip olması gerekmez. Aslında Android platformu, Ultra HDR görüntüler oluştururken birincil görüntüden daha küçük genişlik ve yüksekliğe sahip bir kazanç haritası oluşturur. Bu sayede dosya boyutu önemli ölçüde küçülür ancak yine de iyi bir sonuç için yeterli bilgi kodlanır. Bu nedenle, kazanç haritasındaki her piksel, birincil görüntüdeki birkaç pikselin parlaklık bilgisini depolayabilir.
Temel Ultra HDR düzenlemeleri
Ultra HDR görüntüde temel dönüşümler yapmak için Android Bitmap API'lerini kullanırsanız yöntemler, kazanç haritasında uygun değişiklikleri yapar. Aşağıdaki Bitmap işlemleri desteklenir:
- Döndürme: Ultra HDR resmi döndürürseniz yöntem, kazanç haritasını da döndürür.
- Kırpma: Ultra HDR resmi kırparsanız yöntem, kazanç haritasını uygun şekilde kırpar.
- Ölçek: Bir Ultra HDR resmi ölçeklendirirseniz yöntem, kazanç haritasını ölçeklendirerek yeniden boyutlandırılan birincil resmin genişliğinin ve yüksekliğinin yarısına sahip olmasını sağlar.
Her durumda parlaklık bilgileri korunur.
Gelişmiş Ultra HDR düzenlemeleri
Ultra HDR resimde daha ayrıntılı düzenlemeler yaparsanız kazanç haritası değişmeden korunur. Bu durumda istediğiniz sonuçları elde edemeyebilirsiniz.
Bu duruma yol açabilecek yaygın düzenlemeler şunlardır:
- Çıkartma veya emoji ekleme: Eklenen çıkartma, yapıştırıldığı alanla aynı parlaklık ve renk canlılığı değerlerine sahip olur.
- İkinci bir resim yerleştirme: Yeni resim, yerleştirildiği içeriğin parlaklık ve renk canlılığı bilgilerini kullanır.
- Filtre ekleme: Eski kazanç haritasının bilgileri, değiştirilen birincil görüntü için uygun olmayabilir.
Her durumda, eski parlaklık ve renk canlılığı bilgileri korunur ancak değiştirilen resim için uygun olmayabilir.
Orijinal kazanç haritası, düzenlenen resim için uygunsa herhangi bir işlem yapmanız gerekmez. Kazanç haritasını değiştirmek istiyorsanız her zamanki iş akışı şu şekildedir:
Bitmap.getGainmap()yöntemini çağırarak görüntünün mevcut kazanç haritasını alın ve önbelleğe alın.- Birincil resmi istediğiniz gibi değiştirin.
Önbelleğe alınan kazanç haritasında ilgili düzenlemeleri yapın. Örneğin, birincil resme emoji yapıştırdıysanız kazanç haritasının ilgili bölümünü
Color.GRAYgibi nötr bir değere ayarlayabilirsiniz.Bitmap.setGainmap()yöntemini çağırarak değiştirilen kazanç haritasını tekrar görüntüye uygulayın.
Ek kaynaklar
Ultra HDR resimler hakkında daha fazla bilgi edinmek için aşağıdaki ek kaynaklara göz atın: