Gainmap Класс

Определение

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

[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
Наследование
Gainmap
Атрибуты
Реализации

Комментарии

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных. Это сочетание набора метаданных, описывающих способ применения карты получения, а также 1 (например android.graphics.Bitmap.Config#ALPHA_8 , или 3 (например android.graphics.Bitmap.Config#ARGB_8888 , если альфа-канал игнорируется) bitmap, который представляет сами данные карты получения.

При отрисовке в действии android.content.pm.ActivityInfo#COLOR_MODE_HDR аппаратное ускорение Canvas автоматически применяет карту получения при наличии достаточного запаса HDR.

<h3>Gainmap Structure</h3>

Логическое целое изображения gainmap'd состоит из базового растрового изображения, представляющего исходное изображение, которое будет отображаться без поддержки карты получения в дополнение к схеме gainmap со вторым изображением расширения. В случае JPEG базовым изображением будет типичное 8-разрядное изображение SDR, с которым обычно связан формат. Изображение карты получения внедряется вместе с базовым изображением, часто с более низким разрешением (например, 1/4), а также некоторые метаданные для описания применения карты получения. Само изображение карты получения представляет собой изображение в оттенках серого, представляющее преобразование для применения к базовому изображению для восстановления представления HDR.

Таким образом, эти "изображения getmap" состоят из 3 частей - базы Bitmap с Bitmap#getGainmap() , которая возвращает экземпляр этого класса, который, в свою очередь, содержит слой расширения, представленный в виде другого растрового изображения, доступного через<#getGainmapContents() h3>Применение карты получения вручную</h3>

При выполнении пользовательской отрисовки, например в контексте OpenGL ES или Vulkan, карта получения не применяется автоматически. В таких ситуациях следующие действия подходят для отрисовки карты получения в сочетании с базовым изображением.

Предположим, что наш дисплей имеет отношение HDR к SDR H, и мы хотим отобразить изображение с картой получения на этом дисплее. Пусть B будет значением пикселя из базового изображения в цветовом пространстве с основными функциями базового изображения и линейной функцией передачи. Пусть G будет значением пикселя из карты получения. Пусть D будет выходным пикселем в том же цветовом пространстве, что и B. Значение D вычисляется следующим образом:

Во-первых, пусть W будет весовым параметром, определяющим, насколько будет применена карта получения.

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

Затем пусть L будет значением карты получения в пространстве журнала. Мы вычислим это из значения G, которое было вычислено из текстуры следующим образом:

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

Наконец, примените карту получения к вычислению D, отображаемого пикселя. Если базовый образ — SDR, вычислить:

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

В приведенной выше математике log() является естественным логарифмом, а exp() — естественной экспоненциацией. База для этих функций отменяется и не влияет на результат, поэтому при желании можно использовать другие базы.

Документация по Java для android.graphics.Gainmap.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Конструкторы

Gainmap(Bitmap)

Создает карту получения из заданного растрового рисунка.

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Creator

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

DisplayRatioForFullHdr

Возвращает соотношение hdr/sdr, когда карта получения полностью применяется. -или- Задает соотношение hdr/sdr, когда карта получения данных полностью применяется.

GainmapContents

Задает данные изображения карты получения.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
JniPeerMembers

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

MinDisplayRatioForHdrTransition

Возвращает соотношение hdr/sdr, ниже которого отображается только изображение SDR. -или- Задает соотношение hdr/sdr, ниже которого отображается только изображение SDR.

PeerReference

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)
ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

(Унаследовано от Object)

Методы

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
DescribeContents()

Никакого специального содержимого посылки.

Dispose()

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
Dispose(Boolean)

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
GetEpsilonHdr()

Возвращает epsilon hdr.

GetEpsilonSdr()

Возвращает epsilon sdr.

GetGamma()

Получает гамма карты получения.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetRatioMax()

Возвращает максимальное значение коэффициента получения карты получения.

GetRatioMin()

Возвращает максимальное значение коэффициента получения карты получения.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Notify()

Пробуждает один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Пробуждает все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
SetEpsilonHdr(Single, Single, Single)

Задает epsilon hdr, который используется для предотвращения цифровой нестабильности.

SetEpsilonSdr(Single, Single, Single)

Задает epsilon sdr, который используется для предотвращения цифровой нестабильности.

SetGamma(Single, Single, Single)

Задает гамму карты получения.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetRatioMax(Single, Single, Single)

Задает максимальное значение коэффициента получения карты получения.

SetRatioMin(Single, Single, Single)

Задает минимальное соотношение карты получения.

ToArray<T>()

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
Wait()

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

(Унаследовано от Object)
Wait(Int64)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

Напишите карту получения в посылку.

Явные реализации интерфейса

IJavaPeerable.Disposed()

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенного средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

GetJniTypeName(IJavaPeerable)

Gainmap представляет механизм расширения изображения SDR для создания HDR с возможностью настройки отображения переменных.

Применяется к