Das Ultra HDR-Bildformat codiert Informationen zur Leuchtkraft, sodass Geräte hellere Bilder mit intensiveren Farben anzeigen können. Wenn Sie in Ihrer App ein Ultra-HDR-Bild bearbeiten, sollten Sie diese Informationen zur Leuchtkraft beibehalten. Das ist auch dann wichtig, wenn das Gerät des Nutzers die Anzeige eines Ultra-HDR-Bilds in voller Intensität nicht unterstützt. Schließlich kann der Nutzer sein Bild mit einer Person teilen, die ein Gerät mit Ultra-HDR-Unterstützung hat, oder es speichern und sich Jahre später auf einem neuen Gerät ansehen.
Die meisten Android-Methoden zum Bearbeiten von Bitmaps unterstützen das Ultra-HDR-Bildformat. Wenn Sie ein Bild nur grundlegend bearbeiten, z. B. zuschneiden oder drehen, reichen die Standardmethoden von Android aus. Sie erhalten 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 ein Ultra-HDR-Bild sowohl ein Primärbild als auch eine Gewinnkarte enthält.
- Das primäre Bild enthält die Farbinformationen für jedes Pixel des Bildes.
- Die Verstärkungskarte ist ein standardmäßiges JPEG-Bild mit denselben Proportionen wie das Hauptbild, aber nicht unbedingt mit denselben 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 farbig ist, gibt jeder Farbkanal in der Verstärkungskarte die Leuchtkraft dieses Farbkanals im entsprechenden Teil des primären Bildes 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 primäre Bild, aber nicht dieselben Pixelabmessungen haben. Wenn auf der Android-Plattform Ultra-HDR-Bilder erstellt werden, wird eine Gewinnkarte mit einer geringeren Breite und Höhe als das primäre Bild erstellt. Dadurch wird die Dateigröße deutlich reduziert, es werden aber trotzdem genügend Informationen für ein gutes Ergebnis codiert. Dies bedeutet, dass jedes Pixel in der Verstärkungskarte die Leuchtdichteinformationen für mehrere Pixel im primären Bild speichern kann.
Einfache Ultra HDR-Bearbeitungen
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 Gewinnkarte entsprechend zugeschnitten.
- Skalieren:Wenn Sie ein Ultra-HDR-Bild skalieren, wird die Gewinnkarte so skaliert, dass sie die Hälfte der Breite und Höhe des größenangepassten Hauptbilds hat.
In jedem Fall bleiben die Informationen zur Leuchtkraft erhalten.
Erweiterte Bearbeitung in Ultra HDR
Wenn Sie ein Ultra-HDR-Bild noch aufwendiger bearbeiten, bleibt die Verstärkung unverändert erhalten, sodass Sie möglicherweise nicht die gewünschten Ergebnisse erhalten.
Zu den häufigsten Änderungen, die zu dieser Situation führen können, gehören:
- Sticker oder Emojis hinzufügen:Der hinzugefügte Sticker hat dieselben Leuchtkraft- und Farbintensitätswerte wie der Bereich, in den er eingefügt wurde.
- Überlagerung eines zweiten Bildes:Das neue Bild verwendet die Informationen zur Leuchtkraft und Farbbrillanz des Inhalts, der überlagert wird.
- Filter hinzufügen:Die Informationen der alten Verstärkungskarte sind möglicherweise nicht für das geänderte Hauptbild geeignet.
In jedem Fall werden die alten Informationen zur Leuchtkraft und Farbsättigung beibehalten, sie sind jedoch möglicherweise nicht für das geänderte Bild 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:
- Holen Sie die aktuelle Verstärkungskarte des Bilds ab, indem Sie
Bitmap.getGainmap()
aufrufen und sie im Cache speichern. - Ändern Sie das Hauptbild nach Bedarf.
Nimm entsprechende Änderungen an der im Cache gespeicherten Gewinnkarte vor. Wenn Sie beispielsweise ein Emoji in das Hauptbild eingefügt haben, können Sie den entsprechenden Bereich der Gewinnkarte auf einen neutralen Wert wie
Color.GRAY
festlegen.Wende die geänderte Verstärkungskarte wieder auf das Bild an, indem du
Bitmap.setGainmap()
aufrufst.
Weitere Informationen
Weitere Informationen zu Ultra-HDR-Bildern finden Sie in den folgenden Ressourcen: