Gainmap Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| 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 |