色調合成のアルゴリズム

投稿日:
2010年06月07日
カテゴリー:
雑多な事

ActionScript入門Wiki@rsakaneというのがわかりやすかったので、引用。

うーん、いまこのサイトで採用しているウェブデザインはおもしろいんだけど、表記の柔軟性に欠けるね。デザインしなおうそうかな。

加算(Add)
value = a + b;
if (value > 255)
 value = 255:

乗算(Multiple)
value = a * b / 255;

減算(Difference)
value = a - b;
if (value < 0)
value = 0;

スクリーン(Screen)
value = 255 - ((255 - a) * (255 - b)) / 255

オーバーレイ(Overlay)
if (a < 128)
value = a * b * 2 / 255;
else
value = 2 * (a + b - a * b / 255) - 255;
if (value > 255)
value = 255;

覆い焼き(Dodge)
if (b == 255)
value = 255;
else
value = a * 255 / (255 - b);
if (value > 255)
value = 255;

焼き込み(Burn)
if (b == 0)
value = 0;
else
value = 255 - ((255 - a) * 255 / b);
if (value < 0)
value = 0;

比較(暗)(Darken)
if (a > b)
value = b;
else
value = a;

比較(明)(Lighten)
if (a > b)
value = a;
else
value = b;

ソフトライト(SoftLight)
if (b < 128)
value = ((a / 255)^((255 - b) / 128)) * 255
else
value = ((a / 255)^(128 / b)) * 255

ハードライト(Hardlight)
if (b < 128)
value = a * b * 2 / 255;
else
value = 2 * (a + b - a * b / 255) - 255;
if (value > 255)
value = 255;

除外(Exclusion)
value = a + b - 2 * a * b / 255;

コメント

コメントはありません