Mengedit gambar Ultra HDR

Format gambar Ultra HDR mengenkode informasi luminositas yang memungkinkan perangkat menampilkan gambar yang lebih terang dengan warna yang lebih intens. Saat aplikasi mengedit gambar Ultra HDR, Anda harus memastikan untuk mempertahankan informasi luminositas tersebut. Hal ini penting meskipun perangkat pengguna tidak mendukung tampilan gambar Ultra HDR dengan intensitas penuh. Lagi pula, pengguna mungkin membagikan gambarnya kepada seseorang dengan perangkat yang mendukung Ultra HDR, atau mereka mungkin menyimpan gambar tersebut dan melihatnya lagi di perangkat baru beberapa tahun kemudian.

Kabar baiknya adalah sebagian besar metode Android untuk mengedit bitmap mendukung format gambar Ultra HDR. Jika Anda melakukan pengeditan dasar pada gambar, seperti memangkas atau memutarnya, metode Android standar akan melakukannya—Anda akan mendapatkan gambar HDR ultra dengan dimensi atau orientasi baru.

Tugas ini akan lebih sulit jika Anda mengubah konten gambar. Dalam kasus tersebut, metode pengeditan standar akan mempertahankan informasi luminositas gambar lama, yang mungkin bukan yang Anda inginkan. Dalam kasus tersebut, Anda mungkin perlu mengedit atau menghapus peta gain (yang mengenkode informasi luminositas gambar) untuk mendapatkan hasil yang tepat.

Ringkasan format Ultra HDR

Format gambar Ultra HDR dijelaskan secara mendetail dalam spesifikasi Gambar Ultra HDR. Hal terpenting yang perlu dipahami adalah gambar Ultra HDR berisi gambar utama dan peta gain.

  • Gambar utama memiliki informasi warna untuk setiap piksel gambar.
  • Peta gain adalah gambar JPEG standar dengan proporsi yang sama seperti gambar utama, meskipun tidak harus memiliki dimensi piksel yang sama. Setiap piksel peta gain menentukan luminans bagian yang sesuai dari gambar utama.

Peta gain dapat berupa hitam putih atau warna. Jika peta gain berwarna, setiap saluran warna pada peta gain akan menentukan luminans saluran warna tersebut pada bagian gambar utama yang sesuai. Jika peta gain berwarna hitam putih, setiap piksel peta gain akan menentukan luminans ketiga saluran warna pada bagian gambar utama tersebut.

Peta gain harus memiliki proporsi yang sama dengan gambar utama, tetapi tidak harus memiliki dimensi piksel yang sama. Faktanya, saat platform Android membuat gambar Ultra HDR, platform tersebut akan membuat peta gain dengan lebar dan tinggi yang lebih kecil daripada gambar utama; dengan demikian, ukuran file menjadi jauh lebih kecil, tetapi masih mengenkode informasi yang cukup untuk hasil yang baik. Artinya, setiap piksel dalam peta gain dapat menyimpan informasi luminans untuk beberapa piksel dalam gambar utama.

Pengeditan Ultra HDR dasar

Jika Anda menggunakan API Bitmap Android untuk membuat transformasi dasar pada gambar Ultra HDR, metode ini akan membuat perubahan yang sesuai pada peta gain. Operasi Bitmap berikut didukung:

  • Putar: Jika Anda memutar gambar Ultra HDR, metode ini juga akan memutar peta gain.
  • Pemangkasan: Jika Anda memangkas gambar Ultra HDR, metode ini akan memangkas peta gain dengan tepat.
  • Skala: Jika Anda menskalakan gambar Ultra HDR, metode ini akan menskalakan peta gain sehingga memiliki setengah lebar dan setengah tinggi gambar utama yang diubah ukurannya.

Dalam setiap kasus, informasi luminositas akan dipertahankan.

Pengeditan Ultra HDR lanjutan

Jika Anda melakukan pengeditan yang lebih rumit pada gambar Ultra HDR, peta gain akan dipertahankan tanpa perubahan, yang mungkin tidak memberikan hasil yang Anda inginkan.

Pengeditan umum yang dapat menyebabkan situasi ini meliputi:

  • Menambahkan stiker atau emoji: Stiker yang ditambahkan akan memiliki nilai luminans dan kecerahan warna yang sama dengan area tempat stiker ditempelkan.
  • Menempatkan gambar kedua: Gambar baru akan menggunakan informasi kecerahan dan kecerahan warna konten yang ditempatkan.
  • Menambahkan filter: Informasi peta gain lama mungkin tidak sesuai untuk gambar utama yang dimodifikasi.

Dalam setiap kasus, informasi luminositas dan kecerahan warna lama akan dipertahankan, tetapi mungkin tidak sesuai untuk gambar yang diubah.

Jika peta gain asli sesuai untuk gambar yang diedit, Anda tidak perlu melakukan apa pun. Jika Anda ingin mengubah peta penguatan, alur kerjanya adalah:

  1. Ambil peta gain gambar saat ini dengan memanggil Bitmap.getGainmap() dan menyimpannya dalam cache.
  2. Ubah gambar utama sesuai keinginan.
  3. Buat pengeditan yang sesuai pada peta gain yang di-cache. Misalnya, jika menempelkan emoji ke gambar utama, Anda dapat menetapkan bagian yang sesuai dari peta gain ke nilai netral, seperti Color.GRAY.

  4. Terapkan peta gain yang diubah kembali ke gambar dengan memanggil Bitmap.setGainmap().

Referensi lainnya

Untuk mempelajari gambar Ultra HDR lebih lanjut, lihat referensi tambahan berikut: