Gainmap クラス

定義

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

[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
属性
実装

注釈

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。 これは、ゲインマップを適用する方法を説明するメタデータのセットと、ゲインマップ データ自体を表す 1 ( android.graphics.Bitmap.Config#ALPHA_8 や 3 (アルファ チャネルが無視された android.graphics.Bitmap.Config#ARGB_8888 など) チャネル ビットマップのいずれかと組み合わせたものです。

android.content.pm.ActivityInfo#COLOR_MODE_HDR アクティビティにレンダリングする場合、十分な HDR ヘッドルームが使用可能になると、ハードウェア アクセラレータCanvasによってゲインマップが自動的に適用されます。

<h3>Gainmap 構造体</h3>

ゲインマップのイメージの論理全体は、2 つ目の強化イメージを含むゲインマップに加えて、ゲインマップのサポートなしで表示される元のイメージを表す基本ビットマップで構成されます。 JPEG の場合、基本イメージは、形式が一般的に関連付けられている一般的な 8 ビット SDR イメージになります。 ゲインマップ画像は、基本イメージと共に埋め込まれます。多くの場合、低解像度 (1/4 など) と、ゲインマップの適用方法を説明するメタデータが含まれます。 次に、ゲインマップ イメージ自体は、基本イメージに適用して HDR 表示を再構築する変換を表すグレースケール イメージです。

したがって、これらの"ゲインマップ画像"は、3つの部分で構成されています - このクラスのインスタンスを返すBitmap#getGainmap()を持つ基本Bitmap。このクラスのインスタンスは、別のビットマップとして表され、#getGainmapContents()<h3>ゲインマップを手動で適用してアクセスできます</h3>

OpenGL ES や Vulkan コンテキストなどのカスタム レンダリングを実行する場合、ゲインマップは自動的には適用されません。 このような状況では、次の手順は、基本イメージと組み合わせてゲインマップをレンダリングするのに適しています。

ディスプレイに H の HDR 対 SDR 比があり、このディスプレイにゲインマップ付きの画像を表示するとします。 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ドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
Gainmap(Bitmap)

特定のビットマップからゲインマップを作成します。

Gainmap(Gainmap, Bitmap)

提供されたゲインマップをメタデータ ソースとして使用し、提供されたビットマップを gainmapContents の置き換えとして使用して、新しいゲインマップを作成します

フィールド

名前 説明
GainmapDirectionHdrToSdr
古い.

ゲインマップはベース イメージが HDR であるかのように適用され、ゲインマップを完全に適用すると SDR イメージになります。

GainmapDirectionSdrToHdr
古い.

ゲインマップは、基本イメージが SDR であるかのように適用され、ゲインマップを完全に適用すると HDR イメージになります。

プロパティ

名前 説明
AlternativeImagePrimaries

ゲインマップ数学を適用する必要がある色空間を取得します。 または、ゲインマップの数式を適用する色空間を設定します。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Creator

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

DisplayRatioForFullHdr

ゲインマップを適用すると HDR 表示が発生する hdr/sdr 比を取得します。または、ゲインマップを適用する時点で HDR/sdr 比を設定すると、HDR 表示になります。

GainmapContents

ゲインマップの画像データを設定します。

GainmapDirection

ゲインマップ数学を適用する方向を取得します。 または、ゲインマップの算術演算を適用する方向を設定します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
JniPeerMembers

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

MinDisplayRatioForHdrTransition

ゲインマップを適用すると SDR 表示が発生する hdr/sdr 比を取得します。 または、ゲインマップを適用すると SDR 表示が発生する hdr/sdr 比を設定します。

PeerReference

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)

メソッド

名前 説明
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
DescribeContents()

特別なパーセル の内容はありません。

Dispose()

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
Dispose(Boolean)

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetEpsilonHdr()

hdr epsilon を取得します。

GetEpsilonSdr()

sdr epsilon を取得します。

GetGamma()

ゲインマップガンマを取得します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetRatioMax()

最大ゲインマップ比を取得します。

GetRatioMin()

最大ゲインマップ比を取得します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetEpsilonHdr(Single, Single, Single)

数値が不安定にならないように使用する hdr epsilon を設定します。

SetEpsilonSdr(Single, Single, Single)

数値不安定を回避するために使用される sdr epsilon を設定します。

SetGamma(Single, Single, Single)

ゲインマップガンマを設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetRatioMax(Single, Single, Single)

ゲインマップ比率の最大値を設定します。

SetRatioMin(Single, Single, Single)

ゲインマップ比を最小に設定します。

ToArray<T>()

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

ゲインマップをパーセルに書き込みます。

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
IJavaPeerable.Finalized()

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

(継承元 Object)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

ゲインマップは、可変表示調整機能を備えた HDR イメージを生成するために SDR イメージを拡張するためのメカニズムを表します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象