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 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
- 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</Bitmap
h3>
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 |
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. |