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 представляет механизм расширения изображения 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 |
Возвращает класс среды выполнения данного объекта |
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 с возможностью настройки отображения переменных. |