Gainmap Clase

Definición

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

[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
Herencia
Gainmap
Atributos
Implementaciones

Comentarios

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable. Es una combinación de un conjunto de metadatos que describe cómo aplicar el mapa de ganancia, así como un 1 (por android.graphics.Bitmap.Config#ALPHA_8 ejemplo, o 3 (por android.graphics.Bitmap.Config#ARGB_8888 ejemplo, con el canal alfa omitido) mapa de bits que representa los datos de mapa de ganancia en sí.

Al representar en una android.content.pm.ActivityInfo#COLOR_MODE_HDR actividad, el hardware acelerado Canvas aplicará automáticamente el mapa de ganancia cuando haya suficiente espacio para la cabeza HDR.

<h3>Gainmap Structure</h3>

La totalidad lógica de una imagen de mapa de ganancia consta de un mapa de bits base que representa la imagen original como se mostraría sin compatibilidad con el mapa de ganancia además de un mapa de ganancia con una segunda imagen de mejora. En el caso de un JPEG, la imagen base sería la imagen de SDR típica de 8 bits con la que el formato se asocia normalmente. La imagen de mapa de ganancia se incrusta junto con la imagen base, a menudo en una resolución inferior (como 1/4th), junto con algunos metadatos para describir cómo aplicar el mapa de ganancia. La propia imagen de mapa de ganancia es una imagen de escala de grises que representa la transformación que se va a aplicar a la imagen base para reconstruir una representación HDR de ella.

Por lo tanto, estas "imágenes de mapa de ganancia" constan de tres partes: una base Bitmap con un Bitmap#getGainmap() que devuelve una instancia de esta clase que, a su vez, contiene la capa de mejora representada como otro mapa de bits, accesible a través<#getGainmapContents() de h3>Aplicando un mapa de ganancia manualmente</h3>

Al realizar una representación personalizada como en un contexto de OpenGL ES o Vulkan, el mapa de ganancia no se aplica automáticamente. En tales situaciones, los pasos siguientes son adecuados para representar el mapa de ganancia en combinación con la imagen base.

Supongamos que nuestra pantalla tiene la relación HDR a SDR de H y queremos mostrar una imagen con mapa de ganancia en esta pantalla. Deje que B sea el valor de píxel de la imagen base en un espacio de color que tenga los principales de la imagen base y una función de transferencia lineal. Deje que G sea el valor de píxel del mapa de ganancia. Deje que D sea el píxel de salida en el mismo espacio de colores que B. El valor de D se calcula de la siguiente manera:

En primer lugar, deje que W sea un parámetro de peso que determine cuánto se aplicará el mapa de ganancia.

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

A continuación, deje que L sea el valor de mapa de ganancia en el espacio de registro. Calculamos esto a partir del valor G que se muestreó de la textura de la siguiente manera:

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

Por último, aplique el mapa de ganancia para calcular D, el píxel mostrado. Si la imagen base es SDR, calcule:

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

En las matemáticas anteriores, log() es un logaritmo natural y exp() es exponente natural. La base de estas funciones cancela y no afecta al resultado, por lo que se pueden usar otras bases si se prefiere.

Java documentación para android.graphics.Gainmap.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
Gainmap(Bitmap)

Crea un mapa de ganancia a partir de un mapa de bits determinado.

Gainmap(Gainmap, Bitmap)

Crea un nuevo mapa de ganancia con el mapa de ganancia proporcionado como origen de metadatos y el mapa de bits proporcionado como reemplazo de gainmapContents.

Campos

Nombre Description
GainmapDirectionHdrToSdr
Obsoletos.

El mapa de ganancia se aplicará como si la imagen base fuera HDR y la aplicación completa del mapa de ganancia da como resultado una imagen de SDR.

GainmapDirectionSdrToHdr
Obsoletos.

El mapa de ganancia se aplicará como si la imagen base fuera SDR y aplicar completamente los resultados del mapa de ganancia en una imagen HDR.

Propiedades

Nombre Description
AlternativeImagePrimaries

Obtiene el espacio de colores en el que se debe aplicar la matemática de mapa de ganancia. -o bien- Establece el espacio de colores en el que se deben aplicar las matemáticas de mapa de ganancia.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Creator

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

DisplayRatioForFullHdr

Obtiene la relación hdr/sdr en la que la aplicación del mapa de ganancia da como resultado una representación HDR o establece la relación hdr/sdr en la que el punto en el que aplicar el mapa de ganancia da como resultado una representación HDR.

GainmapContents

Establece los datos de imagen del mapa de ganancia.

GainmapDirection

Obtiene la dirección en la que se debe aplicar la matemática de mapa de ganancia. -o bien- Establece la dirección en la que se deben aplicar las matemáticas de mapa de ganancia.

Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
JniPeerMembers

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

MinDisplayRatioForHdrTransition

Obtiene la relación hdr/sdr por debajo de la cual la aplicación del mapa de ganancia da como resultado una representación de SDR. -o bien- Establece la relación hdr/sdr por debajo de la cual la aplicación del mapa de ganancia da como resultado una representación de SDR.

PeerReference

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
DescribeContents()

No hay contenido especial sobre parcelas.

Dispose()

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
Dispose(Boolean)

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetEpsilonHdr()

Obtiene el epsilon hdr.

GetEpsilonSdr()

Obtiene el epsilon sdr.

GetGamma()

Obtiene el mapa de ganancia gamma.

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
GetRatioMax()

Obtiene la relación de mapa de ganancia máxima.

GetRatioMin()

Obtiene la relación de mapa de ganancia máxima.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
SetEpsilonHdr(Single, Single, Single)

Establece el epsilon hdr que se usa para evitar inestabilidad numérica.

SetEpsilonSdr(Single, Single, Single)

Establece el epsilon sdr que se usa para evitar inestabilidad numérica.

SetGamma(Single, Single, Single)

Establece el mapa de ganancia gamma.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetRatioMax(Single, Single, Single)

Establece el número máximo de proporción de mapa de ganancia.

SetRatioMin(Single, Single, Single)

Establece la relación de mapa de ganancia mín.

ToArray<T>()

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Escriba el mapa de ganancia en la parcela.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
IJavaPeerable.Finalized()

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

(Heredado de Object)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Gainmap representa un mecanismo para aumentar una imagen de SDR para generar un HDR con capacidad de ajuste de pantalla variable.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a