Ultra HDR resimleri düzenleyin

Ultra HDR resim biçimi, cihazların daha parlak ve daha yoğun renkli resimler göstermesini sağlayan 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. Kullanıcı, resmini Ultra HDR'yi destekleyen bir cihaza sahip biriyle paylaşabilir veya resmi kaydedip yıllar sonra yeni bir cihazda tekrar görüntüleyebilir.

İyi haber şu ki, bitmap düzenlemeye yönelik çoğu Android yöntemi Ultra HDR resim biçimini destekler. Bir resimde kırpma veya döndürme gibi temel düzenlemeler yapıyorsanız standart Android yöntemleri işe yarar. Bu yöntemler sayesinde yeni boyutlara veya yönde ultra HDR resim elde edebilirsiniz.

Resmin içeriğini değiştiriyorsanız iş daha da zordur. Bu durumlarda, standart düzenleme yöntemleri eski resmin parlaklık bilgilerini korur. Bu, istediğiniz sonuç olmayabilir. Bu gibi durumlarda, doğru sonucu elde etmek için kazanç haritasını (görüntünün 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çıklanmaktadır. Anlaşılması gereken en önemli nokta, Ultra HDR resmin hem birincil resim hem de kazanç haritası içerdiğidir.

  • Birincil resim, resmin her 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 renk kanalı, birincil görüntünün ilgili kısmındaki ilgili 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 kısmındaki üç renk kanalının ışığını belirtir.

Kazanç haritası, birincil resimle aynı oranlara sahip olmalıdır ancak aynı piksel boyutlarına sahip olması gerekmez. Android platformu Ultra HDR resimler oluştururken birincil resimden daha küçük genişlik ve yüksekliğe sahip bir kazanç haritası oluşturur. Bu sayede dosya boyutu önemli ölçüde küçültülür ancak iyi bir sonuç elde etmek için yeterli bilgi kodlanır. 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 resimde 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 resmini döndürdüğünüzde yöntem, kazanç haritasını da döndürür.
  • Kırpma: Ultra HDR görüntüyü kırptığınızda yöntem, kazanç haritasını uygun şekilde kırpar.
  • Ölçek: Bir Ultra HDR resmini ölçeklendirirseniz yöntem, kazanç haritasını yeniden boyutlandırılmış birincil resmin yarısı genişliğinde ve yarısı yüksekliğinde olacak şekilde ölçeklendirir.

Her durumda parlaklık bilgileri korunur.

Gelişmiş Ultra HDR düzenlemeleri

Ultra HDR görüntüde daha ayrıntılı düzenlemeler yaparsanız kazanç haritası değişmeden korunur. Bu da istediğiniz sonuçları almanıza engel olabilir.

Bu duruma neden olabilecek yaygın düzenlemeler şunlardır:

  • Çıkartma veya emoji ekleme: Eklenen çıkartmanın parlaklık ve renk canlılığı değerleri, yapıştırıldığı alanla aynı olur.
  • İkinci bir resmin üzerine yerleştirilmesi: Yeni resim, üzerine yerleştirildiği içeriğin parlaklığı ve renk canlılığı bilgilerini kullanır.
  • Filtre ekleme: Eski kazanç haritasının bilgileri, değiştirilmiş birincil resim 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üzenlenmiş resim 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 ilgili bölümünü Color.GRAY gibi nötr bir değere ayarlayabilirsiniz.

  4. Bitmap.setGainmap() işlevini çağırarak değiştirilen kazanç haritasını resme tekrar uygulayın.

Ek kaynaklar

Ultra HDR resimler hakkında daha fazla bilgi edinmek için aşağıdaki ek kaynaklara bakın: