في التطور اليومي ، غالبًا ما يتم استخدام التحويل المتبادل بين قيم مجال الألوان بتنسيقات مختلفة. هنا حل.
نسخة الكود كما يلي:
// تعبير منتظم عن قيمة اللون السداسي عشري
var reg = /^#([0-9a-fa-f] {3} | [0-9a-fa-f] {6}) $ /؛
/*تحويل اللون RGB إلى سداسي عشري*/
string.prototype.colorhex = function () {
var that = هذا ؛
if (/^(rgb | rgb)/. test (that)) {
var acolor = that.replace (/(؟:/(|/) | rgb | rgb)*/g ، ""). split ("،") ؛
var strhex = "#" ؛
لـ (var i = 0 ؛ i <acolor.length ؛ i ++) {
var hex = number (acolor) .ToString (16) ؛
if (hex === "0") {
Hex += Hex ؛
}
Strhex += Hex ؛
}
if (strhex.length! == 7) {
strhex = ذلك ؛
}
إرجاع strhex.
} آخر إذا (reg.test (that)) {
var anum = that.replace (/#/، ""). split ("") ؛
if (anum.length === 6) {
إعادة ذلك ؛
} آخر إذا (anum.length === 3) {
var numhex = "#" ؛
لـ (var i = 0 ؛ i <anum.length ؛ i+= 1) {
numHex += (anum +anum) ؛
}
إرجاع numhex ؛
}
}آخر{
إعادة ذلك ؛
}} ؛
/*تحويل الألوان السداسية إلى تنسيق RGB*/
string.prototype.colorrgb = function () {
var scolor = this.toLowerCase () ؛
if (scolor && reg.test (scolor)) {
if (scolor.length === 4) {
var scolornew = "#" ؛
لـ (var i = 1 ؛ i <4 ؛ i+= 1) {
scolornew+= scolor.slice (i ، i+1) .concat (scolor.slice (i ، i+1)) ؛
}
scolor = scolornew ؛
}
// معالجة قيم الألوان المكونة من ستة أرقام
var scolorchange = [] ؛
لـ (var i = 1 ؛ i <7 ؛ i+= 2) {
scolorchange.push (parseint ("0x"+scolor.slice (i ، i+2))) ؛
}
return "rgb (" + scolorchange.join ("،") + ")" ؛
}آخر{
إرجاع scolor
}} ؛
استخدم طريقة تحويل اللون:
نسخة الكود كما يلي:
AR SRGB = "RGB (23 ، 245 ، 56)" ، shex = "#34538b" ؛
var shexcolor = srgb.colorhex () ؛
var srgbcolor = shex.colorrgb () ؛