Ultra HDR-Bilder bearbeiten

Das Ultra HDR-Bildformat codiert Informationen zur Leuchtkraft, damit Geräte hellere Bilder mit intensiveren Farben darstellen können. Wenn eure App ein Ultra HDR-Bild bearbeitet, sollte diese Leuchtdichte beibehalten werden. Das ist auch dann wichtig, wenn das Gerät des Nutzers die Darstellung von Ultra HDR-Bildern mit voller Intensität nicht unterstützt. Schließlich kann der Nutzer sein Bild mit jemandem teilen, der ein Gerät hat, das Ultra HDR unterstützt, oder er speichert es und sieht es sich Jahre später auf einem neuen Gerät noch einmal an.

Die meisten Android-Methoden zum Bearbeiten von Bitmaps unterstützen das Ultra HDR-Bildformat. Wenn Sie grundlegende Änderungen an einem Bild vornehmen, z. B. das Bild zuschneiden oder drehen, brauchen Sie dafür die Standardmethoden von Android. Am Ende erhalten Sie ein Ultra-HDR-Bild mit den neuen Abmessungen oder der neuen Ausrichtung.

Der Job ist schwieriger, wenn Sie den Inhalt des Bildes ändern. In diesen Fällen werden mit den Standardbearbeitungsmethoden die Leuchtdichteinformationen des alten Bilds beibehalten, was möglicherweise nicht Ihren Vorstellungen entspricht. In diesen Fällen müssen Sie möglicherweise die Verstärkungskarte bearbeiten oder entfernen, die die Leuchtdichteinformationen des Bildes codiert, um das richtige Ergebnis zu erhalten.

Ultra HDR-Format – Übersicht

Das Ultra HDR-Bildformat wird in der Spezifikation für Ultra HDR-Bilder beschrieben. Am wichtigsten ist, dass ein Ultra-HDR-Bild sowohl ein Hauptbild als auch eine Verstärkungskarte enthält.

  • Das Hauptbild enthält die Farbinformationen für jedes Pixel des Bildes.
  • Die Verstärkungskarte ist ein JPEG-Standardbild mit denselben Proportionen wie das Hauptbild, aber nicht unbedingt mit denselben Pixelabmessungen. Jedes Pixel der Verstärkungskarte gibt die Helligkeit des entsprechenden Teils des Hauptbildes an.

Die Verstärkungskarte kann entweder in Graustufen oder Farben dargestellt werden. Wenn die Verstärkungskarte in Farbe ist, gibt jeder Farbkanal auf der Verstärkungskarte die Helligkeit dieses Farbkanals im entsprechenden Teil des Hauptbildes an. Wenn die Verstärkungskarte Graustufen darstellt, gibt jedes Pixel der Verstärkungskarte die Helligkeit aller drei Farbkanäle in diesem Teil des Hauptbildes an.

Die Verstärkungskarte muss dieselben Proportionen wie das Hauptbild haben, aber nicht dieselben Pixelabmessungen. Wenn die Android-Plattform Ultra HDR-Bilder erstellt, wird sogar eine GainMap mit einer kleineren Breite und Höhe als das primäre Bild erstellt. Dadurch wird die Dateigröße deutlich kleiner, es werden jedoch genügend Informationen für ein gutes Ergebnis codiert. Das bedeutet, dass jedes Pixel in der Verstärkungskarte die Leuchtdichteinformationen für mehrere Pixel im primären Bild speichern kann.

Einfache Bearbeitung mit Ultra HDR

Wenn Sie die Android Bitmap APIs verwenden, um grundlegende Transformationen in ein Ultra HDR-Bild vorzunehmen, nehmen die Methoden die entsprechenden Änderungen an der Gain Map vor. Die folgenden Bitmap-Vorgänge werden unterstützt:

  • Drehen:Wenn Sie ein Ultra HDR-Bild drehen, wird mit dieser Methode auch die Verstärkungskarte gedreht.
  • Zuschneiden:Wenn Sie ein Ultra HDR-Bild zuschneiden, wird die Verstärkungskarte mit dieser Methode entsprechend zugeschnitten.
  • Skalieren:Wenn Sie ein Ultra HDR-Bild skalieren, wird die GainMap so skaliert, dass sie halb so breit und halb so hoch ist wie das in der Größe angepasste Hauptbild.

Die Informationen zur Leuchtkraft bleiben in jedem Fall erhalten.

Erweiterte Ultra-HDR-Bearbeitungen

Wenn Sie ein Ultra HDR-Bild aufwendiger bearbeiten, bleibt die GainMap unverändert, sodass Sie möglicherweise nicht die gewünschten Ergebnisse erzielen.

Häufige Änderungen, die zu dieser Situation führen können:

  • Sticker oder Emojis hinzufügen:Der hinzugefügte Sticker hat dieselben Werte für Leuchtkraft und Farbintensität wie der Bereich, auf den er eingefügt wurde.
  • Zweites Bild überlagern:Das neue Bild würde Informationen zu Leuchtkraft und Farbintensität des überlagernden Inhalts verwenden.
  • Filter hinzufügen:Die Informationen der alten Verstärkungskarte sind möglicherweise nicht für das geänderte Hauptbild geeignet.

Die alten Informationen zu Leuchtkraft und Farbintensität bleiben in jedem Fall erhalten, sind jedoch möglicherweise für das geänderte Bild nicht angemessen.

Wenn die ursprüngliche Verstärkungskarte für das bearbeitete Bild geeignet ist, müssen Sie nichts unternehmen. Wenn Sie die Gain Map müllen ändern möchten, sieht der übliche Workflow so aus:

  1. Rufen Sie die aktuelle Verstärkungskarte des Bildes ab, indem Sie Bitmap.getGainmap() aufrufen und im Cache speichern.
  2. Ändern Sie das primäre Image nach Bedarf.
  3. Nehmen Sie entsprechende Änderungen an der im Cache gespeicherten Gain Map vor. Wenn Sie beispielsweise ein Emoji in das Hauptbild eingefügt haben, können Sie für den entsprechenden Teil der Verstärkungskarte einen neutralen Wert wie Color.GRAY festlegen.

  4. Wenden Sie die geänderte Verstärkungskarte wieder auf das Bild an, indem Sie Bitmap.setGainmap() aufrufen.

Weitere Informationen

Weitere Informationen zu Ultra HDR-Bildern finden Sie in den folgenden zusätzlichen Ressourcen: