Javascript颜色rgb与16进制转换代码

Javascript实现颜色rgb与16进制转换的方法。分享给大家供大家参考。具体如下:
Color(12,34,56); Color("#fff") Color("#defdcd") 
 //颜色转换 var Color = function() {   if (!(this instanceof Color)) {    var color = new Color();    color._init.apply(color, arguments);    return color;   }   if (arguments.length) {    this._init.apply(this, arguments);   } } //设置get,set方法 var methods = ["red", "green", "blue", "colorValue"]; var defineSetGetMethod = function(fn, methods) {   var fnPrototype = fn.prototype;   for (var i = 0; i < methods.length; i++) {    var methodName = methods[i].charAt(0).toLocaleUpperCase() + methods[i].substring(1);    fn.prototype['set' + methodName] = new Function("value", "this." + methods[i] + "= value;");    fn.prototype['get' + methodName] = new Function("return this." + methods[i] + ";");    fn.prototype['toString'] = new Function('return "rgb("+this.red+","+this.green+","+this.blue+")";');   } }; defineSetGetMethod(Color, methods); //扩展函数的实例方法 var extend = function(fn, option) {   var fnPrototype = fn.prototype;   for (var i in option) {    fnPrototype[i] = option[i];   } }; extend(Color, {   _init : function() {    if (arguments.length == 3) {     this.red = arguments[0];     this.green = arguments[1];     this.blue = arguments[2];     this.getColorValue();    } else {     var colorValue = arguments[0].replace(/^\#{1}/, "");     if (colorValue.length == 3) {      colorValue = colorValue.replace(/(.)/g, '$1$1');     }     this.red = parseInt('0x' + colorValue.substring(0, 2), 16);     this.green = parseInt('0x' + colorValue.substring(2, 4), 16);     this.blue = parseInt('0x' + colorValue.substring(4), 16);     this.colorValue = "#" + colorValue;    }   },   getColorValue : function() {    if (this.colorValue) {     return this.colorValue;    }    var hR = this.red.toString(16);    var hG = this.green.toString(16);    var hB = this.blue.toString(16);    return this.colorValue = "#" + (this.red < 16 ? ("0" + hR) : hR) + (this.green < 16 ? ("0" + hG) : hG) + (this.blue < 16 ? ("0" + hB) : hB);   } }); 
 codego.net节选代码

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30190491/viewspace-1584456/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30190491/viewspace-1584456/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值