;!function (str) {
str.HEXtoRGB = function () {
var col = this.slice(1).split('');
if (/^[0-9A-Fa-f]{6}$/.test(col.join('')) || /^[0-9A-Fa-f]{3}$/.test(col.join(''))) {
(col.length === 3) && !function () {
for (i = -3; i < 0; i++) {
col.splice(i, 0, '' + col.slice(i)[0])
}
} ();
return "rgb(" + parseInt(col.slice(0, 2).join(''), 16) + "," + parseInt(col.slice(2, 4).join(''), 16) + "," + parseInt(col.slice(4, 6).join(''), 16) + ")";
} else { return "rgb(0,0,0)" };
};
str.RGBtoHEX = function () {
let self = this.replace(/\s+/g,""); //去掉空格
var col = self.toUpperCase();
col = col.replace(/^RGB\((\d{1,3}?)\,(\d{1,3}?)\,(\d{1,3}?)\)$/, function (core, $1, $2, $3) {
var a = +$1, b = +$2, c = +$3, cache = "";
// (a < 256 && b < 256 && c < 256) ? cache = '#' + a.toString(16) + b.toString(16) + c.toString(16) : cache = "#000"; //值为0要转为00
var aTo16 = a.toString(16) < 10 ? '0' + a.toString(16) : a.toString(16),
bTo16 = b.toString(16) < 10 ? '0' + b.toString(16) : b.toString(16),
cTo16 = c.toString(16) < 10 ? '0' + c.toString(16) : c.toString(16);
(a < 256 && b < 256 && c < 256) ? cache = '#' + aTo16 + bTo16 + cTo16 : cache = "#000";
return cache;
})
return col;
}
}(String.prototype)
js rgb颜色和hex颜色互转
最新推荐文章于 2024-03-10 09:31:56 发布