Gainmap Classe

Definição

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

[Android.Runtime.Register("android/graphics/Gainmap", ApiSince=34, DoNotGenerateAcw=true)]
public sealed class Gainmap : Java.Lang.Object, Android.OS.IParcelable, IDisposable
[<Android.Runtime.Register("android/graphics/Gainmap", ApiSince=34, DoNotGenerateAcw=true)>]
type Gainmap = class
    inherit Object
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Herança
Atributos
Implementações

Comentários

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável. É uma combinação de um conjunto de metadados que descreve como aplicar o gainmap, bem como um bitmap de canal 1 (como android.graphics.Bitmap.Config#ALPHA_8 ou 3 (como android.graphics.Bitmap.Config#ARGB_8888 com o canal alfa ignorado) bitmap que representa os próprios dados de gainmap.

Ao renderizar para uma android.content.pm.ActivityInfo#COLOR_MODE_HDR atividade, o hardware acelerado Canvas aplicará automaticamente o gainmap quando houver espaço para cabeçalho hdr suficiente disponível.

<Estrutura> de gainmap h3</h3>

O todo lógico de uma imagem gainmap'd consiste em um Bitmap base que representa a imagem original, como seria exibido sem suporte de gainmap, além de um gainmap com uma segunda imagem de aprimoramento. No caso de um JPEG, a imagem base seria a imagem SDR típica de 8 bits à qual o formato é comumente associado. A imagem de gainmap é inserida junto com a imagem base, geralmente em uma resolução inferior (como 1/4), juntamente com alguns metadados para descrever como aplicar o gainmap. A imagem de gainmap em si é então uma imagem em escala de cinza que representa a transformação a ser aplicada à imagem base para reconstruir uma representação hdr dela.

Como tal, essas "imagens gainmap" consistem em 3 partes - uma base Bitmap com uma Bitmap#getGainmap() que retorna uma instância dessa classe que, por sua vez, contém a camada de aprimoramento representada como outro Bitmap, acessível via#getGainmapContents()< h3>Aplicando um gainmap manualmente</h3>

Ao fazer renderização personalizada, como em um contexto OpenGL ES ou Vulkan, o gainmap não é aplicado automaticamente. Nessas situações, as etapas a seguir são apropriadas para renderizar o gainmap em combinação com a imagem base.

Suponha que nossa exibição tenha a taxa de HDR para SDR de H e desejamos exibir uma imagem com gainmap nesta exibição. Que B seja o valor de pixel da imagem base em um espaço de cor que tenha as primárias da imagem base e uma função de transferência linear. Deixe g ser o valor de pixel do gainmap. Que D seja o pixel de saída no mesmo espaço de cor que B. O valor de D é computado da seguinte maneira:

Primeiro, que W seja um parâmetro de peso determinando quanto o mapa de ganho será aplicado.

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

Em seguida, deixe L ser o valor de gainmap no espaço de log. Calculamos isso do valor G que foi amostrado da textura da seguinte maneira:

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

Por fim, aplique o gainmap para calcular D, o pixel exibido. Se a imagem base for SDR, então compute:

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

Na matemática acima, log() é um logaritmo natural e exp() é uma exponencialização natural. A base dessas funções é cancelada e não afeta o resultado, portanto, outras bases podem ser usadas se preferirem.

Java documentação para android.graphics.Gainmap.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
Gainmap(Bitmap)

Cria um gainmap de um determinado Bitmap.

Gainmap(Gainmap, Bitmap)

Cria um novo gainmap usando o gainmap fornecido como a fonte de metadados e o bitmap fornecido como a substituição para gainmapContents

Campos

Nome Description
GainmapDirectionHdrToSdr
Obsoleto.

O gainmap será aplicado como se a imagem base fosse HDR e a aplicação completa dos resultados do gainmap em uma imagem SDR.

GainmapDirectionSdrToHdr
Obsoleto.

O gainmap será aplicado como se a imagem base fosse SDR e a aplicação completa dos resultados do gainmap em uma imagem HDR.

Propriedades

Nome Description
AlternativeImagePrimaries

Obtém o colorspace no qual a matemática de gainmap deve ser aplicada. -ou- Define o colorspace no qual a matemática do gainmap deve ser aplicada.

Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Creator

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

DisplayRatioForFullHdr

Obtém a taxa de hdr/sdr em que a aplicação do gainmap resulta em uma representação hdr -ou- Define a razão hdr/sdr em que a aplicação do gainmap resulta em uma representação HDR.

GainmapContents

Define os dados de imagem do gainmap.

GainmapDirection

Obtém a direção na qual a matemática de gainmap deve ser aplicada. -ou- Define a direção na qual a matemática do gainmap deve ser aplicada.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
JniPeerMembers

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

MinDisplayRatioForHdrTransition

Obtém a taxa de hdr/sdr abaixo da qual a aplicação do gainmap resulta em uma representação de SDR. -ou- Define a taxa de hdr/sdr abaixo da qual a aplicação do gainmap resulta em uma representação de SDR.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
DescribeContents()

Nenhum conteúdo de pacote especial.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
Equals(Object)

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetEpsilonHdr()

Obtém o hdr epsilon.

GetEpsilonSdr()

Obtém o sdr epsilon.

GetGamma()

Obtém o gama de gainmap.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
GetRatioMax()

Obtém a taxa máxima de gainmap.

GetRatioMin()

Obtém a taxa máxima de gainmap.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
SetEpsilonHdr(Single, Single, Single)

Define o hdr epsilon que é usado para evitar instabilidade numérica.

SetEpsilonSdr(Single, Single, Single)

Define o epsilon de sdr que é usado para evitar instabilidade numérica.

SetGamma(Single, Single, Single)

Define o gama de gainmap.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
SetRatioMax(Single, Single, Single)

Define a taxa máxima de gainmap.

SetRatioMin(Single, Single, Single)

Define a taxa de ganho mínimo.

ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Escreva o gainmap no pacote.

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

O Gainmap representa um mecanismo para aumentar uma imagem SDR para produzir um HDR com funcionalidade de ajuste de exibição variável.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a