Ultra HDR resimleri düzenleyin

Ultra HDR resim biçimi, cihazların daha yoğun renklerle daha parlak görüntüler gösterebilmesi için parlaklık bilgilerini kodlar. Uygulamanız Ultra HDR görüntüyü düzenlerken parlaklık bilgilerinin korunduğundan emin olmalısınız. Kullanıcının cihazı Ultra HDR resmin tam yoğunlukta görüntülenmesini desteklemiyor olsa bile bu adım önemlidir. Sonuçta kullanıcı, resmini Ultra HDR destekli bir cihazla paylaşabilir veya bu resmi kaydedip yıllar sonra yeni bir cihazda tekrar görebilir.

Neyse ki Android'de bit eşlemleri düzenlemeye yönelik çoğu yöntem Ultra HDR resim biçimini destekler. Resimde kırpma veya döndürme gibi temel düzenlemeler yapıyorsanız standart Android yöntemleri işinizi görür. Bu durumda, yeni boyutlara veya yöne sahip bir ultra HDR resim elde edersiniz.

Resmin içeriğini değiştiriyorsanız iş biraz daha karmaşıktır. Bu durumlarda, standart düzenleme yöntemleri eski resmin parlaklık bilgilerini korur. Bu, beklediğiniz olmayabilir. Bu gibi durumlarda, doğru sonucu almak için kazanç haritasını (resmin parlaklık bilgilerini kodlayan) 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. Anlaşılması gereken en önemli nokta, Ultra HDR resmin hem birincil resim hem de kazanç haritası içerdiğidir.

  • Birincil resim, resmin her bir pikseli için renk bilgilerini içerir.
  • Kazanç haritası, birincil resimle aynı oranlara sahip olan, ancak aynı piksel boyutlarına sahip olan standart bir JPEG resmidir. Kazanç haritasının her bir pikseli, birincil resmin karşılık gelen kısmının parlaklığını belirtir.

Kazanç haritası gri tonlamalı veya renkli olabilir. Kazanç haritası renkliyse kazanç haritasındaki her bir renk kanalı, birincil resmin karşılık gelen bölümündeki renk kanalının parlaklığını belirtir. Kazanç haritası gri tonlamalıysa kazanç haritasının her bir pikseli, birincil resmin o bölümündeki üç renk kanalının parlaklığını belirtir.

Kazanç haritası, birincil resimle aynı oranlara sahip olmalıdır ancak aynı piksel boyutlarına sahip olması gerekmez. Hatta, Android platformu Ultra HDR resimler oluşturduğunda, birincil görüntüden daha küçük bir genişlik ve yüksekliğe sahip bir kazanç haritası oluşturur. Bu işlem, dosya boyutunu önemli ölçüde küçültür ancak yine de iyi bir sonuç için yeterli bilgiyi kodlar. Bu, kazanç haritasındaki her bir pikselin, birincil resimdeki birkaç piksele ait parlaklık bilgilerini depolayabileceği anlamına gelir.

Temel Ultra HDR düzenlemeleri

Ultra HDR görüntüye temel dönüştürmeler 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 görüntüyü döndürürseniz yöntem, kazanç haritasını da döndürür.
  • Kırp: Ultra HDR bir resmi kırparsanız bu yöntem, kazanç haritasını uygun şekilde kırpar.
  • Ölçeklendirme: Ultra HDR görüntüyü ölçeklendirirseniz yöntem, kazanç haritasını yeniden boyutlandırılan birincil resmin genişliğinin ve yarısının yarısı kadar olacak şekilde ölçeklendirir.

Her durumda, parlaklık bilgisi korunur.

Gelişmiş Ultra HDR düzenlemeleri

Ultra HDR resimde daha ayrıntılı düzenlemeler yaparsanız kazanç haritası değiştirilerek korunduğu için istediğiniz sonuçları elde edemeyebilirsiniz.

Bu duruma neden olabilecek sık yapılan 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 resmin üzerine yerleştirme: Yeni resim, yer paylaşımlı olarak bulunduğu 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 bu bilgiler, değiştirilen resim için uygun olmayabilir.

Orijinal kazanç haritası, düzenlenen görüntü için uygunsa herhangi bir işlem yapmanız gerekmez. Kazanç haritasını değiştirmek istiyorsanız normal iş akışı şöyledir:

  1. Bitmap.getGainmap() çağrısı yaparak görüntünün mevcut kazanç haritasını getirin ve önbelleğe alın.
  2. Birincil resmi istediğiniz gibi değiştirin.
  3. Önbelleğe alınmış kazanç haritasında ilgili düzenlemeleri yapın. Örneğin, birincil resme bir emoji yapıştırdıysanız kazanç haritasının karşılık gelen kısmını Color.GRAY gibi nötr bir değere ayarlayabilirsiniz.

  4. Bitmap.setGainmap() numaralı telefonu arayarak değiştirilen kazanç haritasını resme geri uygulayın.

Ek kaynaklar

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