ColorMath? クラス

  • 色に関する計算もろもろ。
  • static関数のみで構成されています。

コード

サンプル

クラスファイル内に一応サンプルを書いていますので、そちらをご参照ください。

どんな風になるのか

色に関する面倒な計算式の記述が省けます。

使い方

以下にこのクラスで定義されているメソッドを列記しておきます。
メソッドは全て static で定義されています。

subtract( col1:Number , col2:Number ):Number

減算
2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から減算した数値を返します。
ARGBを示す数値を引数に渡した場合、アルファ値は無視されます。

sum( col1:Number , col2:Number ):Number

加法混色
2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から加法混色した数値を返します。
ARGBを示す数値を引数に渡した場合、アルファ値は無視されます。

sub( col1:Number , col2:Number ):Number

減法混色
2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から減法混色した数値を返します。
ARGBを示す数値を引数に渡した場合、アルファ値は無視されます。

min( col1:Number , col2:Number ):Number

比較(暗)
2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から比較して、RGBそれぞれ数値の低い方を合わせた数値を返します。
ARGBを示す数値を引数に渡した場合、アルファ値は無視されます。

max( col1:Number , col2:Number ):Number

比較(明)
2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から比較して、RGBそれぞれ数値の高い方を合わせた数値を返します。
ARGBを示す数値を引数に渡した場合、アルファ値は無視されます。

toRGB( col:Number ):Array

ARGBを示す数値( 0x00000000 から 0xFFFFFFFF まで)、もしくはRGBを示す数値( 0x000000 から 0xFFFFFF まで)を
Alpha, R, G, B それぞれ 0 から 255 までの数値に分割した配列を返します。
戻り値の配列に含まれる値は [ R , G , B , Alpha ] と Alpha値 が最後になっていることに注意してください。

toDec( r:Number , g:Number , b:Number , a:Number ):Number

引数に R, G, B, Alpha を示す、それぞれ 0x00 から 0xFF までの数値を合算した数値を返します。
Alpha値は省略が可能です。省略した場合は 0 として換算されます。

convertHSV( r:Number, g:Number, b:Number ):Array

RGBそれぞれの数値から、HSV(HSB) に換算した配列を返します。
(表記上HSVとしていますが B が Blue と混同しないためにHSVを用いています。)
RGB の値はそれぞれ以下の通りです。
  R - 0 から 255 までの数値
  G - 0 から 255 までの数値
  B - 0 から 255 までの数値

HSV の値はそれぞれ以下の通りです。
  H - 0 から 360 までの数値
  S - 0 から 100 までの数値
  V - 0 から 100 までの数値

アルファを含めた計算はできません。

convertRGB( h:Number, s:Number, v:Number ):Array

HSV(HSB)それぞれの数値からRGBを割り出して配列として返します。
(表記上HSVとしていますが B が Blue と混同しないためにHSVを用いています。)
RGB の値はそれぞれ以下の通りです。
  R - 0 から 255 までの数値
  G - 0 から 255 までの数値
  B - 0 から 255 までの数値

HSV の値はそれぞれ以下の通りです。
  H - 0 から 360 までの数値
  S - 0 から 100 までの数値
  V - 0 から 100 までの数値

Hが上記範囲外の場合 0 から 360 の範囲内に相当する数値に置き換えられます。
アルファを含めた計算はできません。