Gainmap Klasse

Definition

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassung 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 Anzeigeanpassung zu erzeugen. Es handelt sich um eine Kombination aus einem Satz von Metadaten, die beschreiben, wie die Gainmap angewendet wird, sowie einer 1-Kanal-Bitmap (z. B android.graphics.Bitmap.Config#ALPHA_8 . oder 3 (z android.graphics.Bitmap.Config#ARGB_8888 . B. mit ignoriertem Alphakanal), die die Gainmap-Daten selbst darstellt.

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

<h3>Gainmap-Struktur</h3>

Das logische Ganze eines Gainmap'd-Bilds besteht aus einer Basis-Bitmap, die das ursprüngliche Bild darstellt, wie es ohne Gainmap-Unterstützung angezeigt wird, zusätzlich zu einer Gainmap mit einem zweiten Erweiterungsbild. Im Fall eines 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, oft mit einer niedrigeren Auflösung (z. B. 1/4), 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-Wiedergabe davon zu rekonstruieren.

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

Beim benutzerdefinierten Rendering, z. B. für einen 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, unser Display hat ein HDR-zu-SDR-Verhältnis von H, und wir möchten ein Bild mit Gainmap auf diesem Display anzeigen. B ist der Pixelwert aus dem Basisbild in einem Farbraum, der die Primärwerte des Basisbilds und eine lineare Übertragungsfunktion aufweist. Lassen Sie G den Pixelwert aus der Gainmap sein. Lassen Sie D das Ausgabepixel im gleichen Farbraum wie B sein. Der Wert von D wird wie folgt berechnet:

Lassen Sie zunächst W ein Gewichtungsparameter sein, der bestimmt, in welchem Maße die Gainmap angewendet wird.

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

Als Nächstes sollte L der Gainmap-Wert im Protokollbereich sein. Dies wird wie folgt aus dem Wert G berechnet, der aus der Textur entnommen wurde:

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

Wenden Sie abschließend die Gainmap auf Compute 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 natürliche Exponentiation. Die Basis für diese Funktionen bricht ab und wirkt sich nicht auf das Ergebnis aus, sodass bei Bedarf andere Grundlagen verwendet werden können.

Java-Dokumentation für android.graphics.Gainmap.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Gainmap(Bitmap)

Erstellt eine Gainmap aus einer bestimmten Bitmap.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Creator

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

DisplayRatioForFullHdr

Ruft das hdr/sdr-Verhältnis ab, an dem die Gainmap vollständig angewendet wird. Oder: Legt das Hdr/sdr-Verhältnis fest, an dem die Gainmap vollständig angewendet wird.

GainmapContents

Legt die Bilddaten der Gainmap fest.

Handle

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

(Geerbt von Object)
JniIdentityHashCode

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

(Geerbt von Object)
JniPeerMembers

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

MinDisplayRatioForHdrTransition

Ruft das Hdr/sdr-Verhältnis ab, unter dem nur das SDR-Bild angezeigt wird. Oder: Legt das HDR/SDR-Verhältnis fest, unter dem nur das SDR-Bild angezeigt wird.

PeerReference

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassung 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

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 Anzeigeanpassung zu erzeugen.

(Geerbt von Object)
Dispose(Boolean)

Gainmap stellt einen Mechanismus zum Erweitern eines SDR-Bilds dar, um ein HDR-Bild mit variabler Anzeigeanpassung 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 das 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 feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

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

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf den 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 das sdr-Epsilon fest, das 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 Anzeigeanpassung 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 Anzeigeanpassung zu erzeugen.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch <>Benachrichtigung</em> oder <em>interrupted</em>.

(Geerbt von Object)
Wait(Int64)

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

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</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

IJavaPeerable.Disposed()

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

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Geerbt von Object)
IJavaPeerable.Finalized()

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

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

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

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Typkonvertierung mit Überprüfung der Android-Laufzeit aus.

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

Gilt für: