颜色值相互转换---Color

简介: 颜色值相互转换,由hex到rgb或由rgb到hex,注意主要是字符串的操作和正则表达式的应用var Color = function (){   //将hex装换成rgb形式   this.HexToRgb = function (str){       var r = /^\#?[0-9a-f]{6}$/;       if (!r.

颜色值相互转换,由hex到rgb或由rgb到hex,注意主要是字符串的操作和正则表达式的应用
var Color = function (){
   //将hex装换成rgb形式
   this.HexToRgb = function (str){
       var r = /^\#?[0-9a-f]{6}$/;
       if (!r.test(str)) return window.alert("输入hex颜色值有误!!!");   
       //test方法检查在字符串中是否存在一个模式,如果存在则返回true,否则返回false
            str = str.replace("#", ""); 
            //替换查找的到的字符串
            var hxs = str.match(/../g); 
            //得到查询数组
            for (var i = 0; i < 3; i++) {
                hxs[i] = parseInt(hxs[i], 16);
            }
       return hxs;
   }

   //将rgb装换成hex
   this.RgbToHex = function (a, b, c) {
      var r = /^\d{1,3}$/;
      if (!r.test(a) || !r.test(b) || !r.test(c)) return window.alert("输入rgb颜色值有误!!!");
          var hexs = [a.toString(16), b.toString(16), c.toString(16)];
          for (var i = 0; i < 3; i++) {
             if (hexs[i] == 1) hexs[i] = "0" + hexs[i];
           }
      return "#" + hexs.join("");
   }
}


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>颜色值相互转换---Color---www.cnblogs.com/kuikui</title> <script type="text/javascript"> var Color = function () { //将hex转换成rgb形式 this.HexToRgb = function (str) { var r = /^\#?[0-9a-f]{6}$/; if (!r.test(str)) return window.alert("输入hex颜色值有误!!!"); //test方法检查在字符串中是否存在一个模式,如果存在则返回true,否则返回false str = str.replace("#", ""); //替换查找的到的字符串 var hxs = str.match(/../g); //得到查询数组 for (var i = 0; i < 3; i++) { hxs[i] = parseInt(hxs[i], 16); } return hxs; } //将rgb装换成hex this.RgbToHex = function (a, b, c) { var r = /^\d{1,3}$/; if (!r.test(a) || !r.test(b) || !r.test(c)) return window.alert("输入rgb颜色值有误!!!"); var hexs = [a.toString(16), b.toString(16), c.toString(16)]; for (var i = 0; i < 3; i++) { if (hexs[i] == 1) hexs[i] = "0" + hexs[i]; } return "#" + hexs.join(""); } } window.onload = function () { var test = new Color(); alert(test.HexToRgb("ff66ff")); alert(test.RgbToHex(100, 255, 100)); } </script> </head> <body> </body> </html>

目录
相关文章
|
18天前
|
JavaScript 前端开发
uVeiw color 颜色值
uVeiw color 颜色值
16 0
|
5月前
RGB颜色和16进制颜色转换太麻烦,使用SwiftUI搭建一个颜色值转换App(下)
RGB颜色和16进制颜色转换太麻烦,使用SwiftUI搭建一个颜色值转换App(下)
91 0
|
5月前
|
存储
RGB颜色和16进制颜色转换太麻烦,使用SwiftUI搭建一个颜色值转换App(上)
RGB颜色和16进制颜色转换太麻烦,使用SwiftUI搭建一个颜色值转换App(上)
46 0
RGB颜色值与十六进制颜色码怎么相互转换?
RGB颜色值与十六进制颜色码怎么相互转换?
153 0
RGB颜色值与十六进制颜色码怎么相互转换?
CMKY与RGB的转换
CMKY与RGB的转换
81 0
|
前端开发 JavaScript Java
通过canvas转换颜色为RGBA格式及性能问题
通过canvas转换颜色为RGBA格式及性能问题
通过canvas转换颜色为RGBA格式及性能问题
|
Java
java实现颜色Color对象和16进制之间的转换
package com.tsxs.test; import java.awt.Color; public class TestColor { public static void main(String[] args) { System.out.println(toHexFromColor(Color.BLUE)); System.out.println(toColorFro
5242 0
|
C#
c# 颜色RGB到HSB互相转换
原文:c# 颜色RGB到HSB互相转换 1 /// 2 /// 色相,饱和度,亮度转换成rgb值 3 /// 4 /// 5 public static float[] HSB2RGB(float[...
1997 0