lwx-test-ui
Version:
lwx-test-ui
39 lines (38 loc) • 1.18 kB
JavaScript
import { ElMessage as g } from "element-plus";
function u(e) {
let n = "";
if (!/^#?[0-9A-F]{6}$/i.test(e))
return g.warning("输入错误的hex"), [];
e = e.replace("#", ""), n = e.match(/../g);
for (let t = 0; t < 3; t++) n[t] = Number.parseInt(n[t], 16);
return n;
}
function s(e, n, i) {
const t = /^\d{1,3}$/;
if (!t.test(e) || !t.test(n) || !t.test(i))
return g.warning("输入错误的rgb颜色值"), "";
const r = [e.toString(16), n.toString(16), i.toString(16)];
for (let o = 0; o < 3; o++)
r[o].length === 1 && (r[o] = `0${r[o]}`);
return `#${r.join("")}`;
}
function a(e, n) {
if (!/^#?[0-9A-F]{6}$/i.test(e))
return g.warning("输入错误的hex颜色值"), "";
const t = u(e);
for (let r = 0; r < 3; r++) t[r] = Math.round(20.5 * n + Number(t[r]) * (1 - n));
return s(t[0], t[1], t[2]);
}
function c(e, n) {
if (!/^#?[0-9A-F]{6}$/i.test(e))
return g.warning("输入错误的hex颜色值"), "";
const t = u(e);
for (let r = 0; r < 3; r++) t[r] = Math.round(255 * n + Number(t[r]) * (1 - n));
return s(t[0], t[1], t[2]);
}
export {
a as getDarkColor,
c as getLightColor,
u as hexToRgb,
s as rgbToHex
};