- コミット日時:
- 2008/07/09 17:30:07 (4 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/Utils/src/org/libspark/utils/ColorUtil.as
r512 r804 21 21 import flash.geom.ColorTransform; 22 22 23 /** 24 * 色情報を扱うユーティリティクラスです 25 */ 23 26 public class ColorUtil 24 27 { … … 39 42 * @param alpha 透明度 (0.0 - 1.0) 40 43 * @return 新しい ColorTransform インスタンス 44 * @author michi at seyself.com 41 45 */ 42 46 public static function colorTransform( rgb:uint=0, amount:Number=1.0, alpha:Number=1.0 ):ColorTransform … … 52 56 53 57 /** 54 * 減算 58 * 減算. <br /> 55 59 * 2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から減算した数値を返します. 56 60 * … … 58 62 * @param col2 RGBを示す数値( 0x000000 から 0xFFFFFF まで) 59 63 * @return 減算混色値 64 * @author michi at seyself.com 60 65 */ 61 66 public static function subtract( col1:uint , col2:uint ):uint … … 70 75 71 76 /** 72 * 加法混色 77 * 加法混色. <br /> 73 78 * 2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から加法混色した数値を返します. 74 79 * … … 76 81 * @param col2 RGBを示す数値( 0x000000 から 0xFFFFFF まで) 77 82 * @return 加法混色値 83 * @author michi at seyself.com 78 84 */ 79 85 public static function sum( col1:uint , col2:uint ):uint … … 88 94 89 95 /** 90 * 減法混色 96 * 減法混色. <br /> 91 97 * 2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から減法混色した数値を返します. 92 98 * … … 94 100 * @param col2 RGBを示す数値( 0x000000 から 0xFFFFFF まで) 95 101 * @return 減法混色値 102 * @author michi at seyself.com 96 103 */ 97 104 public static function sub( col1:uint , col2:uint ):uint … … 106 113 107 114 /** 108 * 比較(暗) 115 * 比較(暗). <br /> 109 116 * 2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から比較して、RGBそれぞれ数値の低い方を合わせた数値を返します. 110 117 * … … 112 119 * @param col2 RGBを示す数値( 0x000000 から 0xFFFFFF まで) 113 120 * @return 比較(暗)値 121 * @author michi at seyself.com 114 122 */ 115 123 public static function min( col1:uint , col2:uint ):uint … … 124 132 125 133 /** 126 * 比較(明) 134 * 比較(明). <br /> 127 135 * 2つのRGBを示す数値( 0x000000 から 0xFFFFFF まで)から比較して、RGBそれぞれ数値の高い方を合わせた数値を返します. 128 136 * … … 130 138 * @param col2 RGBを示す数値( 0x000000 から 0xFFFFFF まで) 131 139 * @return 比較(明)値 140 * @author michi at seyself.com 132 141 */ 133 142 public static function max( col1:uint , col2:uint ):uint … … 142 151 143 152 /** 153 * RGB それぞれの数値から RGB カラー値を求めます。 154 * 155 * @param r 赤(R)を示す数値( 0 から 255 まで) 156 * @param g 緑(G)を示す数値( 0 から 255 まで) 157 * @param b 青(B)を示す数値( 0 から 255 まで) 158 * @return 各色の値から求められたRGBを示す数値 159 * @author michi at seyself.com 160 */ 161 public static function rgb(r:uint, g:uint, b:uint):uint 162 { 163 return r << 16 | g << 8 | b; 164 } 165 166 /** 167 * HSV それぞれの数値から RGB カラー値を求めます。 168 * 169 * @param h 色相(Hue)を示す数値( 0 から 360 まで) 170 * @param s 彩度(Saturation)を示す数値( 0.0 から 1.0 まで) 171 * @param v 明度(Value)を示す数値( 0.0 から 1.0 まで) 172 * @return 各色の値から求められたRGBを示す数値 173 * @author michi at seyself.com 174 */ 175 public static function hsv(h:int, s:Number, v:Number):uint 176 { 177 return rgb.apply( null, HSVtoRGB(h, s, v)); 178 } 179 180 /** 144 181 * RGBを示す数値( 0x000000 から 0xFFFFFF まで)を 145 182 * R, G, B それぞれ 0 から 255 までの数値に分割した配列を返します. 146 183 * 147 * @param col ARGBを示す数値( 0x00000000 から 0xFFFFFFFF まで) 148 * @return 各色の値を示す配列 [ R , G , B , Alpha ] 149 */ 150 public static function toRGB( col:uint ):Array 151 { 152 var r:uint = col >> 16 & 0xFF; 153 var g:uint = col >> 8 & 0xFF; 154 var b:uint = col & 0xFF; 184 * @param rgb RGBを示す数値( 0x000000 から 0xFFFFFF まで) 185 * @return 各色の値を示す配列 [ R , G , B ] 186 * @author michi at seyself.com 187 */ 188 public static function toRGB( rgb:uint ):Array 189 { 190 var r:uint = rgb >> 16 & 0xFF; 191 var g:uint = rgb >> 8 & 0xFF; 192 var b:uint = rgb & 0xFF; 155 193 return [r,g,b]; 156 }157 158 /**159 * 引数に R, G, B, Alpha を示す、それぞれ 0x00 から 0xFF までの数値を合算した数値を返します.160 *161 * @param r 赤(R)を示す数値( 0x00 から 0xFF まで)162 * @param g 緑(G)を示す数値( 0x00 から 0xFF まで)163 * @param b 青(B)を示す数値( 0x00 から 0xFF まで)164 * @return 各色の値から求められたRGBを示す数値165 */166 public static function toDec( r:Number , g:Number , b:Number ):Number167 {168 return r << 16 | g << 8 | b;169 194 } 170 195 … … 187 212 * @param b 青(B)を示す数値( 0x00 から 0xFF まで) 188 213 * @return HSVに変換した値の配列 [ H, S, V ] 214 * @author michi at seyself.com 189 215 */ 190 216 public static function RGBtoHSV( r:Number, g:Number, b:Number ):Array … … 235 261 * @param v 明度(Value)を示す数値( 0.0 から 1.0 まで) 236 262 * @return RGBに変換した値の配列 [ R, G, B ] 263 * @author michi at seyself.com 237 264 */ 238 265 public static function HSVtoRGB( h:Number, s:Number, v:Number ):Array

