Format obrazu ultra HDR koduje informacje o jasności, dzięki czemu urządzenia mogą wyświetlać jaśniejsze obrazy o bardziej intensywnych kolorach. Gdy aplikacja edytuje obraz Ultra HDR, aby zachować informacje o jasności. Jest to ważne nawet wtedy, gdy urządzenie użytkownika nie obsługuje wyświetlania pełnego obrazu Ultra HDR intensywność. W końcu użytkownik może udostępnić swoje zdjęcie komuś, kto korzysta z urządzenia obsługujące ultra HDR. Można też zapisać ten obraz i obejrzeć go ponownie na nowych urządzeniach.
Dobrą wiadomością jest to, że większość metod edycji bitmap na Androidzie obsługuje tryb ultra HDR w formacie graficznym. Jeśli chcesz wprowadzić podstawowe zmiany w obrazie, takie jak przycięcie lub obrócenie, możesz użyć standardowych metod Androida. Otrzymasz obraz ultra HDR z nowymi wymiarami lub orientacją.
Jeśli modyfikujesz zawartość obrazu, zadanie jest trudniejsze. W standardowe metody edycji zachowują informacje o jasności filmu stary obraz, który może nie spełniać Twoich oczekiwań. W takim przypadku konieczne może być wykonanie tych czynności: edytuj lub usuń mapę wzmocnienia (która koduje informacje o jasności zdjęcia) w celu uzyskania właściwego wyniku.
Omówienie formatu Ultra HDR
Format obrazu ultra HDR jest szczegółowo opisany w specyfikacji obrazu ultra HDR. Najważniejsze jest to, że obraz w formacie Ultra HDR zawiera zarówno obraz główny, jak i mapę wzmocnienia.
- Zdjęcie główne zawiera informacje o kolorze każdego piksela obrazu.
- Mapa wzmocnienia to standardowy obraz JPEG o tych samych proporcjach co obraz główny, ale niekoniecznie o tych samych wymiarach w pikselach. Każdy piksel mapy wzmocnienia określa luminancję odpowiedniej części główny obraz.
Mapa wzmocnienia może być w skali szarości lub w kolorze. Jeśli mapa wzmocnienia jest kolorowa, każdy kanał koloru na tej mapie określa luminancję tego kanału koloru w odpowiadającej części obrazu głównego. Jeśli mapa wzmocnienia jest w szarościach, każdy piksel mapy wzmocnienia określa luminancję wszystkich 3 kanałów kolorów w danej części obrazu głównego.
Mapa wzmocnienia musi mieć te same proporcje co zdjęcie główne, ale jest nie muszą mieć jednakowych wymiarów w pikselach. Gdy platforma Android tworzy obrazy w rozdzielczości ultra HDR, tworząc mapę wzmocnienia o mniejszej szerokości i wysokości niż zdjęcie główne, znacznie mniejszy jest rozmiar pliku, Nadal koduje wystarczającą ilość informacji, aby uzyskać dobry wynik. Oznacza to, że każdy piksel na mapie wzmocnienia może przechowywać informacje o luminescencji dla kilku pikseli na obrazie głównym.
Podstawowe funkcje edycji przy użyciu ultra HDR
Jeśli używasz interfejsów API Androida Bitmap
do tworzenia
podstawowych przekształceń w obrazy Ultra HDR, stosowane metody pozwalają
zmiany na mapie wzmocnienia. Obsługiwane są te operacje Bitmap
:
- Obróć: jeśli obrócisz obraz ultra HDR, metoda obróci wzmocnienie. mapy.
- Przycinanie: jeśli przytniesz obraz w Ultra HDR, metoda odpowiednio przytnie mapę wzmocnienia.
- Skalowanie: jeśli przeskalujesz obraz w formacie Ultra HDR, metoda przeskaluje mapę wzmocnienia, tak aby miała połowę szerokości i połowy wysokości pierwotnego obrazu.
W każdym przypadku informacje o jasności są zachowane.
Zaawansowane edycje przy użyciu ultra HDR
Jeśli wprowadzisz bardziej zaawansowane zmiany w obrazie w Ultra HDR, mapa wzmocnienia zostanie zachowana bez zmian, co może nie przynieść oczekiwanych rezultatów.
Oto typowe zmiany, które mogą doprowadzić do takiej sytuacji:
- Dodawanie naklejek lub emotikonów: dodana naklejka będzie miała te same wartości jasności i nasycenia kolorów co obszar, na którym została wklejona.
- Nakładanie drugiego obrazu: nowy obraz używałby jasności i i żywotności nakładki.
- Dodawanie filtrów: informacje z dawnej mapy wzmocnienia mogą nie być odpowiednie dla zmodyfikowanego obrazu głównego.
W każdym przypadku stara informacje o jasności i żywotności kolorów są zachowane, ale może nie być odpowiednie w przypadku zmodyfikowanego zdjęcia.
Jeśli oryginalna mapa wzmocnienia jest odpowiednia dla zmodyfikowanego obrazu, nie musisz nic robić. Jeśli chcesz zmodyfikować mapę wzmocnienia, wykonaj te czynności:
- Pobierz bieżącą mapę wzmocnienia obrazu, wywołując funkcję
Bitmap.getGainmap()
i zapisując ją w pamięci podręcznej. - W razie potrzeby zmodyfikuj zdjęcie główne.
Wprowadź odpowiednie zmiany w mapie wzmocnienia zapisanej w pamięci podręcznej. Jeśli na przykład wkleisz emotikona na głównym obrazie, możesz ustawić odpowiadający mu fragment mapy wzmocnienia na wartość neutralną, np.
Color.GRAY
.Zastosuj zmodyfikowaną mapę wzmocnienia do obrazu, wywołując funkcję
Bitmap.setGainmap()
.
Dodatkowe materiały
Więcej informacji o obrazach w ultra HDR znajdziesz w tych materiałach: