Gainmap 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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
忽略 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 |
傳回這個 |
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 影像。 |