Image同士の合成処理を行う関数群. [詳細]
#include <Blend.h>
Public メソッド | |
bool | Add (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
加算合成. [詳細] | |
bool | Burn (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
焼き込み合成. [詳細] | |
bool | Darken (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
比較合成(暗). [詳細] | |
bool | Difference (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
減算合成. [詳細] | |
bool | Dodge (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
覆い焼き合成. [詳細] | |
bool | Exclusion (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
除外合成. [詳細] | |
bool | HardLight (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
ハードライト合成. [詳細] | |
bool | Lighten (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
比較合成(明). [詳細] | |
bool | Multiple (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
乗算合成. [詳細] | |
bool | Normal (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
通常合成. [詳細] | |
bool | OverLay (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
オーバーレイ合成. [詳細] | |
bool | RgbaSelectMix (Image *合成イメージ, const Image *入力イメージ, RGBA 赤要素, RGBA 緑要素, RGBA 青要素, RGBA 透明要素, double 合成率=1.0) |
RGBAの要素を選択して合成. [詳細] | |
bool | Screen (Image *合成イメージ, const Image *入力イメージ, double 合成率=1.0) |
スクリーン合成. [詳細] | |
bool | SoftLight (Image *合成イメージ, const Image *入力イメージ, double 合成率) |
ソフトライト合成. [詳細] | |
Image同士の合成処理を行う関数群.
合成元のイメージに入力イメージを合成し、画像編集ソフトにあるような合成処理を施す。\n
合成率は0.0~1.0の範囲で指定し、率が高い程入力の影響が強くなる。
加算合成.
合成イメージに入力イメージの色を足す。
焼き込み合成.
合成して暗くする。\n
[計算方法]
合成後の色 = 1.0 - ( 1.0 - 合成元の色 ) / 入力の色
※入力の色が0.0の時、合成後の色は0.0
比較合成(暗).
合成と入力の暗い方を合成後の色にする。
減算合成.
合成イメージから、入力イメージを減算する。
覆い焼き合成.
合成後、明るくする。\n
[計算方法]
合成後の色 = 合成元の色 / (1.0 - 入力の色)
※入力の色が1.0の場合、合成後の色は1.0
除外合成.
合成後、暗くする。\n
[計算方法]
合成後 = 合成元 + 入力 - 2.0 * 合成元 * 入力
ハードライト合成.
オーバーレイ合成の条件を、合成元から入力に変更して計算。
比較合成(明).
合成と入力の明るい方を合成後の色にする。
乗算合成.
二つのイメージの色を乗算する。\n
各成分は0.0~1.0の値に見立てて乗算を行うので、
元の色より暗くなる事はあっても明るくなることはない。
通常合成.
特殊な効果を付けずに合成\n
合成率が1に近いほど、入力画像の不透明度が高くなる。
オーバーレイ合成.
合成イメージの色が0.5以下の部分は暗く、それ以外は明るくする合成。\n
[計算方法]
GrHandleの色が0.5以下:
合成後の色 = 合成元の色 * 入力の色 * 2.0
それ以外:
合成後の色 = 2.0 * ( 合成元の色 + 入力の色 - 合成元の色 * 入力の色 ) - 1.0
bool SDX::Blend::RgbaSelectMix | ( | Image * | 合成イメージ, |
const Image * | 入力イメージ, | ||
RGBA | 赤要素, | ||
RGBA | 緑要素, | ||
RGBA | 青要素, | ||
RGBA | 透明要素, | ||
double | 合成率 = 1.0 |
||
) |
RGBAの要素を選択して合成.
合成後の画像として赤・緑・青・アルファの各成分を 合成元、入力のどちらのどの要素から取るかを指定する。\n
例えば、赤要素 に RGBA::BlendR を指定した場合は、合成後の画像の赤成分は、入力イメージの緑成分になる。
スクリーン合成.
加算合成のように明るくする。\n
[計算方法]
合成後の色 = 1.0f - ( ( 1.0f - 合成イメージの色 ) * ( 1.0f - 入力イメージの色 ) )