转换ARGB到RGB,以及RGB和ARGB到十进制数的方法
最编程
2024-01-12 22:38:29
...
AS3中ARGB、RGB相互转换,获取ARGB中的Alpha值等方法
参考资料:http://blog.****.net/zeng622peng/article/details/6931485
package chen.color { /** * 颜色相关的工具包 * @author ragged * @qq 284950276 */ public class ColorTools { private static var colorTools:ColorTools; /**颜色相关的工具包*/ public function ColorTools($single:SINGLE) { } /**获取颜色工具包单列*/ public static function getInstance():ColorTools { if(colorTools == null) { colorTools = new ColorTools(new SINGLE); } return colorTools; } /**ARGB转10进制*/ public function argbToNumber(a:Number, r:Number, g:Number, b:Number):uint { return a<<24 | r<<16 | g<<8 | b; } /**RGB转10进制*/ public function rgbToNumber(r:Number, g:Number, b:Number):uint { return r<<16 | g<<8 | b; } /**10进制转ARGB*/ public function numberToArgb(val:Number):Object { var col:Object = {}; col.alpha = (val >> 24) & 0xFF; col.red = (val >> 16) & 0xFF; col.green = (val >> 8) & 0xFF; col.blue = val & 0xFF; return col; } /**10进制转RGB*/ public function numberToRgb(val:Number):Object { var col:Object = {}; col.red = (val >> 16) & 0xFF; col.green = (val >> 8) & 0xFF; col.blue = val & 0xFF; return col; } } } class SINGLE{};