Format gambar Ultra HDR mengenkode informasi luminositas yang memungkinkan perangkat menampilkan gambar yang lebih cerah dengan warna yang lebih intens. Saat aplikasi Anda mengedit gambar Ultra HDR, Anda ingin memastikan untuk mempertahankan informasi luminositas tersebut. Hal ini penting meskipun perangkat pengguna tidak mendukung tampilan gambar Ultra HDR dengan intensitas penuh. Bagaimanapun juga, pengguna mungkin membagikan gambarnya kepada seseorang yang memiliki perangkat yang mendukung Ultra HDR, atau mereka mungkin menyimpan gambar tersebut dan melihatnya lagi di perangkat baru beberapa tahun kemudian.
Kabar baiknya, 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 melakukan tugasnya—Anda akan mendapatkan gambar Ultra HDR dengan dimensi atau orientasi baru.
Tugas ini akan lebih sulit jika Anda mengubah konten gambar. Dalam kasus tersebut, metode pengeditan standar mempertahankan informasi luminans gambar lama, yang mungkin bukan yang Anda inginkan. Dalam kasus tersebut, Anda mungkin perlu mengedit atau menghapus peta penguatan (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 penguatan.
- Gambar utama memiliki informasi warna untuk setiap piksel gambar.
- Peta penguatan adalah gambar JPEG standar dengan proporsi yang sama dengan gambar utama, meskipun tidak harus memiliki dimensi piksel yang sama. Setiap piksel peta penguatan menentukan luminans bagian yang sesuai dari gambar utama.
Peta penguatan dapat berupa hitam putih atau berwarna. Jika peta penguatan berwarna, setiap saluran warna pada peta penguatan menentukan luminans saluran warna tersebut pada bagian gambar utama yang sesuai. Jika peta penguatan berwarna hitam putih, setiap piksel peta penguatan menentukan luminans ketiga saluran warna pada bagian gambar utama tersebut.
Peta penguatan 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 ini membuat peta penguatan dengan lebar dan tinggi yang lebih kecil daripada gambar utama; hal ini membuat ukuran file jauh lebih kecil, tetapi tetap mengenkode informasi yang cukup untuk hasil yang baik. Artinya, setiap piksel dalam peta penguatan dapat menyimpan informasi luminans untuk beberapa piksel dalam gambar utama.
Pengeditan Ultra HDR dasar
Jika Anda menggunakan API Bitmap Android untuk melakukan
transformasi dasar pada gambar Ultra HDR, metode tersebut akan membuat perubahan
yang sesuai pada peta penguatan. Operasi Bitmap berikut didukung:
- Putar: Jika Anda memutar gambar Ultra HDR, metode ini juga akan memutar peta penguatan.
- Pangkas: Jika Anda memangkas gambar Ultra HDR, metode ini akan memangkas peta penguatan dengan tepat.
- Skala: Jika Anda menskalakan gambar Ultra HDR, metode ini akan menskalakan peta penguatan sehingga memiliki setengah lebar dan setengah tinggi gambar utama yang diubah ukurannya.
Dalam setiap kasus, informasi luminositas dipertahankan.
Pengeditan Ultra HDR lanjutan
Jika Anda melakukan pengeditan yang lebih rumit pada gambar Ultra HDR, peta penguatan 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 luminositas dan kecerahan warna yang sama dengan area tempat stiker ditempelkan.
- Menempatkan gambar kedua secara bertumpuk: Gambar baru akan menggunakan informasi luminans dan kejelasan warna konten yang ditumpukinya.
- Menambahkan filter: Informasi peta penguatan lama mungkin tidak sesuai untuk gambar utama yang dimodifikasi.
Dalam setiap kasus, informasi luminositas dan kecerahan warna lama dipertahankan, tetapi mungkin tidak sesuai untuk gambar yang dimodifikasi.
Jika peta penguatan asli sesuai untuk gambar yang diedit, Anda tidak perlu melakukan apa pun. Jika Anda ingin mengubah peta penguatan, alur kerja yang biasa adalah:
- Ambil peta penguatan gambar saat ini dengan memanggil
Bitmap.getGainmap()dan meng-cache-nya. - Ubah gambar utama sesuai keinginan.
Lakukan pengeditan yang sesuai pada peta penguatan yang di-cache. Misalnya, jika Anda menempelkan emoji ke gambar utama, Anda dapat menetapkan bagian peta penguatan yang sesuai ke nilai netral, seperti
Color.GRAY.Terapkan kembali peta penguatan yang telah diubah ke gambar dengan memanggil
Bitmap.setGainmap().
Referensi lainnya
Untuk mempelajari lebih lanjut gambar Ultra HDR, lihat referensi tambahan berikut: