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 忽略 Alpha 色板) 通道點陣圖,代表增益地圖資料本身。

轉譯為 android.content.pm.ActivityInfo#COLOR_MODE_HDR 活動時,當有足夠的 HDR 前端可用時,硬體加速 Canvas 會自動套用增益圖。

<h3 > Gainmap 結構 < /h3>

增益圖影像的邏輯整體是由基底點陣圖所組成,代表原始影像的基底點陣圖,除了具有第二個增強影像的增益圖之外,還會顯示沒有 gainmap 支援。 在 JPEG 的情況下,基底映射會是一般與格式相關聯的 8 位 SDR 映射。 gainmap 影像會內嵌在基底影像旁邊,通常以較低的解析度 (例如 1/4th) ,以及一些中繼資料來描述如何套用 gainmap。 然後,gainmap 影像本身是灰色影像,代表要套用至基底影像的轉換,以重新建構其 HDR 轉譯。

因此,這些「取得地圖影像」包含 3 個部分 - 基底 Bitmap ,其 Bitmap#getGainmap() 會傳回此類別的實例,而此類別的實例又包含以另一個點陣圖表示的增強層,可透過 #getGainmapContents()< h3 > 手動 < 套用增益對應/h3 存取>

對 OpenGL ES 或 Vulkan 內容執行自訂轉譯時,不會自動套用 gainmap。 在這種情況下,下列步驟適用于轉譯與基底影像組合的 gainmap。

假設我們的顯示器具有 H 的 HDR 與 SDR 比率,而我們想要在此顯示器上顯示具有 gainmap 的影像。 讓 B 成為色彩空間中基底影像的圖元值,該色彩空間具有基底影像的主要和線性傳輸函式。 讓 G 成為來自 gainmap 的圖元值。 讓 D 成為與 B 相同色彩空間中的輸出圖元。D 的值會計算如下:

首先,讓 W 是一個權數參數,決定要套用多少增益圖。

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

接下來,讓 L 成為記錄空間中的 gainmap 值。 我們會從從紋理取樣的值 G 計算這個值,如下所示:

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

最後,將 gainmap 套用至計算 D,即顯示的圖元。 如果基底映射是 SDR,則計算:

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

在上述數學中,log () 是自然對數,而 exp () 是自然指數。 這些函式的基底會取消,且不會影響結果,因此,如有偏好,可能會使用其他基底。

android.graphics.Gainmap JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

Gainmap(Bitmap)

從指定的點陣圖建立增益圖。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Creator

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

DisplayRatioForFullHdr

取得完全套用增益圖的 hdr/sdr 比率。 -或- 設定完全套用增益圖的 hdr/sdr 比率。

GainmapContents

設定 gainmap 的影像資料。

Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
JniIdentityHashCode

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

(繼承來源 Object)
JniPeerMembers

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

MinDisplayRatioForHdrTransition

取得只顯示 SDR 影像的 hdr/sdr 比率。 -或- 設定只顯示 SDR 影像的 hdr/sdr 比率。

PeerReference

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

(繼承來源 Object)
ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

(繼承來源 Object)

方法

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
DescribeContents()

沒有特殊的包裹內容。

Dispose()

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

(繼承來源 Object)
Dispose(Boolean)

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetEpsilonHdr()

取得 hdr epsilon。

GetEpsilonSdr()

取得 sdr epsilon。

GetGamma()

取得增益圖 gamma。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetRatioMax()

取得 max 的增益圖比例上限。

GetRatioMin()

取得 max 的增益圖比例上限。

JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
SetEpsilonHdr(Single, Single, Single)

設定 hdr epsilon,用來避免數值不穩定。

SetEpsilonSdr(Single, Single, Single)

設定 sdr epsilon,用來避免數值不穩定。

SetGamma(Single, Single, Single)

設定 gainmap gamma。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetRatioMax(Single, Single, Single)

設定 max 的增益圖比例上限。

SetRatioMin(Single, Single, Single)

設定增益圖比例最小值。

ToArray<T>()

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

Gainmap 代表增強 SDR 影像的機制,以產生具有變數顯示器調整功能的 HDR 影像。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

將 gainmap 寫入至包裹。

明確介面實作

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 影像。

適用於