IlvComponentTransferFilter クラス
IlvComponentTransferFilter クラスを使うと、次のようにイメージでコンポーネントのリマップができます。
R' = feFuncR( R )
G' = feFuncG( G )
B' = feFuncB( B )
A' = feFuncA( A )
feFuncR、feFuncG、feFuncB、および feFuncA は、各コンポーネントの変換関数を定義します。
これにより、明るさ調整、コントラスト調整、色バランス、閾値などの処理が利用できます。
次の 5 つの変換関数が定義されています。
同一:
C' = Cテーブル:関数はアトリビュート値によるルックアップ・テーブルへのリニア補間で定義されます。これは
n 補間の値を求めるために、
n+1 値 (すなわち
v0 から
vn) のリストを提供します。補間には、次の式を使います。
k/N <= C < (k+1)/N => C' = vk + (C - k/N)*N * (vk+1 - vk)
離散:この関数は、アトリビュート値により定義されるステップ関数で定義され、これは
n 手順から成るステップ関数を識別するために、
n 値 (すなわち、
v0 から
vn-1) のリストを提供します。このステップ関数は、以下の式によって定義されます。
k/N <= C < (k+1)/N => C' = vk
線形:この関数は、以下の一次方程式によって定義されます。
C' = slope * C + intercept
ここで、slope および intercept はユーザー定義です。
ガンマ:この関数は、以下の指数関数によって定義されます。
C' = amplitude * pow(C, exponent) + offset
ここで、amplitude、exponent、offset はユーザー定義です。
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.