Gainmap Klasse

Definition

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

[Android.Runtime.Register("android/graphics/Gainmap", ApiSince=34, DoNotGenerateAcw=true)]
public sealed class Gainmap : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/graphics/Gainmap", ApiSince=34, DoNotGenerateAcw=true)>]
type Gainmap = class
    inherit Object
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Vererbung
Gainmap
Attribute
Implementiert

Hinweise

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen. Es handelt sich um eine Kombination aus einer Reihe von Metadaten, die beschreiben, wie die Gainmap angewendet wird, sowie entweder eine 1 (z. B. 3 (z android.graphics.Bitmap.Config#ALPHA_8android.graphics.Bitmap.Config#ARGB_8888 . B. mit ignoriertem Alphakanal) Kanalbitmap, die die Gainmap-Daten selbst darstellt.

Beim Rendern in eine android.content.pm.ActivityInfo#COLOR_MODE_HDR Aktivität wendet die hardwarebeschleunigte Canvas Hardware automatisch die Gainmap an, wenn genügend HDR-Kopfraum verfügbar ist.

<h3>Gainmap-Struktur</h3>

Das logische Gesamte eines Gainmap-Bilds besteht aus einer Basisbitmap, die das ursprüngliche Bild darstellt, wie es angezeigt wird, ohne eine Gainmap-Unterstützung zusätzlich zu einer Gainmap mit einem zweiten Erweiterungsbild anzuzeigen. Bei einem JPEG wäre das Basisbild das typische 8-Bit-SDR-Bild, dem das Format häufig zugeordnet ist. Das Gainmap-Bild wird zusammen mit dem Basisbild eingebettet, häufig mit einer niedrigeren Auflösung (z. B. 1/4th), zusammen mit einigen Metadaten, um zu beschreiben, wie die Gainmap angewendet wird. Das Gainmap-Bild selbst ist dann ein Graustufenbild, das die Transformation darstellt, die auf das Basisbild angewendet werden soll, um eine HDR-Darstellung davon zu rekonstruieren.

Als solche "Gainmap-Bilder" bestehen aus drei Teilen - eine Basis mit einer, Bitmap die eine Instanz dieser Klasse zurückgibt, die wiederum die Erweiterungsebene enthält, die als eine andere Bitmap dargestellt wird, zugänglich über<#getGainmapContents() h3>Manuelles Anwenden einer Gainmap</Bitmap#getGainmap()h3>

Wenn Sie benutzerdefiniertes Rendering durchführen, z. B. in einem OpenGL ES- oder Vulkan-Kontext, wird die Gainmap nicht automatisch angewendet. In solchen Situationen sind die folgenden Schritte geeignet, um die Gainmap in Kombination mit dem Basisbild zu rendern.

Angenommen, unsere Anzeige hat HDR zu SDR-Verhältnis von H, und wir möchten ein Bild mit Gainmap auf diesem Display anzeigen. Lassen Sie B der Pixelwert aus dem Basisbild in einem Farbraum sein, der die Primarwerte des Basisbilds und eine lineare Übertragungsfunktion aufweist. Lassen Sie G der Pixelwert aus der Gainmap sein. Lassen Sie D das Ausgabepixel im gleichen Farbraum wie B sein. Der Wert von D wird wie folgt berechnet:

Zunächst sollte W ein Gewichtungsparameter sein, der bestimmt, wie viel die Gainmap angewendet wird.

W = clamp((log(H)                      - log(minDisplayRatioForHdrTransition)) /
                        (log(displayRatioForFullHdr) - log(minDisplayRatioForHdrTransition), 0, 1)

Als Nächstes soll L der Gainmap-Wert im Protokollbereich sein. Wir berechnen dies anhand des Werts G, der aus der Textur wie folgt entnommen wurde:

L = mix(log(ratioMin), log(ratioMax), pow(G, gamma))

Wenden Sie schließlich die Gainmap auf die Berechnung D, das angezeigte Pixel an. Wenn das Basisimage SDR ist, berechnen Sie Folgendes:

D = (B + epsilonSdr) * exp(L * W) - epsilonHdr

In der obigen Mathematik ist log() ein natürlicher Logarithmus und Exp() ist eine natürliche Exponentiation. Die Basis für diese Funktionen bricht ab und wirkt sich nicht auf das Ergebnis aus, sodass andere Basen ggf. verwendet werden können.

Java Dokumentation für android.graphics.Gainmap.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
Gainmap(Bitmap)

Erstellt eine Gainmap aus einer bestimmten Bitmap.

Gainmap(Gainmap, Bitmap)

Erstellt eine neue Gainmap mit der bereitgestellten Gainmap als Metadatenquelle und der bereitgestellten Bitmap als Ersatz für die gainmapContents

Felder

Name Beschreibung
GainmapDirectionHdrToSdr
Veraltet.

Die Gainmap wird so angewendet, als wäre das Basisbild HDR, und das vollständige Anwenden der Gainmap führt zu einem SDR-Bild.

GainmapDirectionSdrToHdr
Veraltet.

Die Gainmap wird so angewendet, als wäre das Basisbild SDR, und das vollständige Anwenden der Gainmap führt zu einem HDR-Bild.

Eigenschaften

Name Beschreibung
AlternativeImagePrimaries

Ruft den Farbraum ab, in dem die Gainmap-Mathematik angewendet werden soll. -or- Legt den Farbraum fest, in dem die Gainmap-Mathematik angewendet werden soll.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Creator

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

DisplayRatioForFullHdr

Ruft das Hdr/sdr-Verhältnis ab, an dem die Gainmap-Ergebnisse in einer HDR-Darstellung angewendet werden – oder legt das HDR/sdr-Verhältnis fest, an dem die Gainmap-Ergebnisse in einer HDR-Wiedergabe angewendet werden.

GainmapContents

Legt die Bilddaten der Gainmap fest.

GainmapDirection

Ruft die Richtung ab, in die die Gainmap-Mathematik angewendet werden soll. -or- Legt die Richtung fest, in die die Gainmap-Mathematik angewendet werden soll.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
JniPeerMembers

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

MinDisplayRatioForHdrTransition

Ruft das hdr/sdr-Verhältnis darunter ab, unter dem das Anwenden der Gainmap-Darstellung zu einer SDR-Darstellung führt. -or- Legt das hdr/sdr-Verhältnis darunter fest, unter dem das Anwenden der Gainmap-Darstellung zu einer SDR-Darstellung führt.

PeerReference

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)

Methoden

Name Beschreibung
Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
DescribeContents()

Kein spezieller Paketinhalt.

Dispose()

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
Dispose(Boolean)

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetEpsilonHdr()

Ruft das hdr epsilon ab.

GetEpsilonSdr()

Ruft den sdr epsilon ab.

GetGamma()

Ruft das Gainmap-Gamma ab.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetRatioMax()

Ruft das Gainmap-Verhältnis max. ab.

GetRatioMin()

Ruft das Gainmap-Verhältnis max. ab.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
SetEpsilonHdr(Single, Single, Single)

Legt das hdr epsilon fest, das verwendet wird, um numerische Instabilität zu vermeiden.

SetEpsilonSdr(Single, Single, Single)

Legt den sdr epsilon fest, der verwendet wird, um numerische Instabilität zu vermeiden.

SetGamma(Single, Single, Single)

Legt das Gainmap-Gamma fest.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetRatioMax(Single, Single, Single)

Legt das Gainmap-Verhältnis max. fest.

SetRatioMin(Single, Single, Single)

Legt das Gainmap-Verhältnis min. fest.

ToArray<T>()

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<><

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Schreiben Sie die Gainmap in das Paket.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
IJavaPeerable.Finalized()

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

(Geerbt von Object)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe TResultzu self erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassungsfunktion zu erzeugen.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe TResultzu self erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: