Ultra HDR-Bilder bearbeiten

Das Ultra HDR-Bildformat codiert Informationen zur Leuchtkraft, sodass Geräte hellere Bilder mit intensiveren Farben anzeigen können. Beim Bearbeiten eines Ultra HDR-Bildes durch deine App sollten die Informationen zur Leuchtkraft erhalten bleiben. 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 mit Ultra HDR unterstützt, oder es speichern und Jahre später auf einem neuen Gerät ansehen.

Die gute Nachricht ist, dass die meisten Android-Methoden zum Bearbeiten von Bitmaps das Ultra HDR-Bildformat unterstützen. Wenn Sie grundlegende Änderungen an einem Bild vornehmen, z. B. es zuschneiden oder drehen, erledigen dies die Standard-Android-Methoden. Sie erhalten dann ein Ultra-HDR-Bild mit den neuen Abmessungen oder der neuen Ausrichtung.

Schwieriger ist es, wenn Sie den Inhalt des Bildes ändern. In diesen Fällen behalten die Standardbearbeitungsmethoden die Leuchtdichteinformationen des alten Bilds bei, was möglicherweise nicht Ihren Vorstellungen entspricht. In diesen Fällen müssen Sie möglicherweise die Verstärkungskarte (die die Leuchtdichteinformationen des Bildes codiert) bearbeiten oder entfernen, um das richtige Ergebnis zu erhalten.

Ultra HDR-Format – Übersicht

Das Ultra HDR-Bildformat wird in der Spezifikation für Ultra HDR-Bilder ausführlich beschrieben. Das Wichtigste ist, dass Sie wissen, dass ein Ultra-HDR-Bild sowohl ein primäres Bild als auch eine Verstärkungskarte enthält.

  • Das primäre Bild enthält die Farbinformationen für jedes Pixel des Bildes.
  • Die Verstärkungskarte ist ein Standard-JPEG-Bild mit denselben Proportionen wie das primäre Bild, jedoch nicht unbedingt mit den Pixelabmessungen. Jedes Pixel der Verstärkungskarte gibt die Helligkeit des entsprechenden Teils des Primärbilds an.

Die Verstärkungskarte kann entweder in Graustufen oder in Farbe vorliegen. Wenn die Verstärkungskarte in Farbe ist, gibt jeder Farbkanal auf der Verstärkungskarte die Helligkeit des Farbkanals für den entsprechenden Teil des Primärbilds an. Wenn die Verstärkungskarte in Graustufen ist, gibt jedes Pixel der Verstärkungskarte die Helligkeit aller drei Farbkanäle in diesem Teil des Primärbilds an.

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

Grundlegende Bearbeitung in Ultra HDR

Wenn du die Bitmap APIs von Android verwendest, um grundlegende Transformationen an einem Ultra HDR-Bild vorzunehmen, werden mit den Methoden die entsprechenden Änderungen an der Verstärkungskarte vorgenommen. 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 entsprechend zugeschnitten.
  • Skalieren:Wenn Sie ein Ultra HDR-Bild skalieren, wird die Verstärkung so skaliert, dass sie halb so breit und hoch wie das in der Größe angepasste Hauptbild ist.

In jedem Fall bleiben die Leuchtdichteinformationen erhalten.

Erweiterte Bearbeitung in Ultra HDR

Wenn Sie ein Ultra HDR-Bild noch aufwendiger bearbeiten, wird die Verstärkungskarte unverändert beibehalten, sodass Sie möglicherweise nicht die gewünschten Ergebnisse erhalten.

Häufige Änderungen, die in dieser Situation zur Folge haben können:

  • Sticker oder Emojis hinzufügen:Der hinzugefügte Sticker hat dieselben Leuchtkraft- und Farbintensitätswerte wie der Bereich, in den er eingefügt wurde.
  • Ein zweites Bild als Overlay hinzufügen:Das neue Bild verwendet die Informationen zu Leuchtkraft und Farbintensität des überlagernden Inhalts.
  • Filter hinzufügen:Die Informationen der alten GainMap sind möglicherweise nicht für das geänderte primäre Bild geeignet.

In jedem Fall bleiben die alten Informationen zu Leuchtkraft und Farbintensität erhalten, aber sie sind für das modifizierte Bild möglicherweise nicht geeignet.

Wenn die ursprüngliche Verstärkungskarte für das bearbeitete Bild geeignet ist, müssen Sie nichts weiter tun. Wenn Sie die Verstärkungskarte ändern möchten, gehen Sie wie folgt vor:

  1. Rufen Sie die aktuelle Verstärkungskarte des Bilds ab, indem Sie Bitmap.getGainmap() aufrufen und sie im Cache speichern.
  2. Ändern Sie das primäre Bild nach Bedarf.
  3. Nehmen Sie die entsprechenden Änderungen an der im Cache gespeicherten Verstärkungskarte vor. Wenn Sie beispielsweise ein Emoji im 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 auf das Bild an, indem Sie Bitmap.setGainmap() aufrufen.

Zusätzliche Ressourcen

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