Edytuj zdjęcia ultra HDR

Format obrazu ultra HDR koduje informacje o jasności, dzięki czemu urządzenia mogą wyświetlać jaśniejsze obrazy i bardziej intensywne kolory. Pamiętaj o zachowaniu informacji o oświetleniu podczas edycji obrazu ultra HDR. Jest to ważne nawet wtedy, gdy urządzenie użytkownika nie obsługuje wyświetlania obrazu ultra HDR w pełnej intensywności. W końcu użytkownik może udostępnić swoje zdjęcie komuś, kto obsługuje urządzenie obsługujące ultra HDR, lub zapisać to zdjęcie i obejrzeć je ponownie na nowym urządzeniu po latach.

Dobra wiadomość jest taka, że większość metod edycji bitmap na Androidzie obsługuje format obrazu Ultra HDR. Jeśli wprowadzasz podstawowe zmiany na obrazie, np. przycinasz lub obracasz zdjęcie, wszystko to robisz za pomocą standardowych metod Androida – otrzymasz obraz ultra HDR z nowymi wymiarami lub orientacją.

Zadanie jest trudniejsze, jeśli modyfikujesz zawartość obrazu. W takich przypadkach standardowe metody edycji zachowują informacje o jasności starego obrazu, więc może on nie być taki, jakiego oczekujesz. W takich przypadkach musisz zmodyfikować lub usunąć mapę wzmocnienia (która koduje informacje o jasności obrazu), aby uzyskać właściwe rezultaty.

Omówienie formatu Ultra HDR

Format obrazu Ultra HDR został szczegółowo opisany w specyfikacji obrazu Ultra HDR. Najważniejszą rzeczą do zrozumienia jest to, że zdjęcie ultra HDR zawiera zarówno zdjęcie główne, jak i mapę powiększenia.

  • Obraz główny zawiera informacje o kolorze każdego piksela obrazu.
  • Mapa kulinarna to standardowy obraz JPEG o tych samych proporcjach co obraz główny, choć niekoniecznie takich samych wymiarów w pikselach. Każdy piksel mapy wzmocnienia określa luminancję odpowiedniej części obrazu głównego.

Mapa zysku może być w skali szarości lub kolorze. Jeśli mapa wzmocnienia jest w kolorze, każdy kanał koloru na mapie wzmocnienia określa luminancję tego kanału kolorów w odpowiedniej części obrazu głównego. Jeśli mapa wzmocnienia jest w skali szarości, każdy piksel mapy wzmocnienia określa luminancję wszystkich trzech kanałów kolorów w tej części obrazu głównego.

Mapa wzmocnienia musi mieć te same proporcje co obraz główny, ale nie musi mieć takich samych wymiarów w pikselach. Kiedy platforma Androida tworzy obrazy ultra HDR, tworzymy mapę wzmocnienia o mniejszej szerokości i wysokości niż obraz główny. Dzięki temu rozmiar pliku jest znacznie mniejszy, ale mimo to kodowanie danych wystarczającej do uzyskania dobrego wyniku. Oznacza to, że każdy piksel na mapie wzmocnienia może przechowywać informacje o luminancji kilku pikseli na obrazie głównym.

Podstawowe funkcje edycji ultra HDR

Jeśli za pomocą interfejsów API Androida Bitmap wykonujesz podstawowe przekształcenia obrazu ultra HDR, te metody wprowadzają odpowiednie zmiany w mapie zysku. Obsługiwane są te operacje Bitmap:

  • Obróć: jeśli obrócisz zdjęcie ultra HDR, ta metoda też obróci mapę wzmocnienia.
  • Przytnij: jeśli przytniesz obraz ultra HDR, metoda spowoduje odpowiednie przycięcie mapy wzmocnienia.
  • Skalowanie: jeśli skalujesz obraz ultra HDR, metoda skaluje mapę wzmocnienia, tak aby miała połowę szerokości i połowę wysokości powiększonego obrazu głównego.

W każdym przypadku informacje o jasności są zachowywane.

Zaawansowane funkcje edycji ultra HDR

Jeśli wprowadzisz bardziej zaawansowane zmiany na zdjęciu ultra HDR, mapa wzmocnienia pozostanie bez zmian, co może nie dać oczekiwanych wyników.

Typowe zmiany, które mogą w tej sytuacji spowodować:

  • Dodanie naklejek lub emotikonów: dodana naklejka będzie miała taką samą jasność i żywotność kolorów jak obszar, w którym została wklejona.
  • Nakładanie drugiego obrazu: nowy obraz używa informacji o jasności i żywności kolorów materiałów, na które zostanie nałożone.
  • Dodawanie filtrów: informacje o starej mapie wzmocnienia mogą być nieodpowiednie dla zmodyfikowanego obrazu głównego.

W każdym z tych przypadków stare informacje o jasności i żywych kolorach zostaną zachowane, ale mogą być nieodpowiednie dla zmodyfikowanego zdjęcia.

Jeśli pierwotna mapa wzmocnienia jest odpowiednia dla edytowanego obrazu, nie musisz nic robić. Jeśli chcesz zmodyfikować mapę wzmocnienia, wygląda to tak:

  1. Pobierz aktualną mapę wzmocnienia obrazu, wywołując metodę Bitmap.getGainmap() i ustawiając ją w pamięci podręcznej.
  2. Zmodyfikuj obraz główny według potrzeb.
  3. Wprowadź odpowiednie zmiany w mapie wzmocnienia w pamięci podręcznej. Jeśli na przykład wkleisz emotikon na obrazie głównym, możesz ustawić odpowiednią część mapy wzmocnienia na neutralną wartość, np. Color.GRAY.

  4. Zastosuj zmodyfikowaną mapę wzmocnienia do obrazu, wywołując metodę Bitmap.setGainmap().

Dodatkowe materiały

Więcej informacji o zdjęciach ultra HDR znajdziesz w tych materiałach dodatkowych: