【发布时间】:2021-04-19 23:45:38
【问题描述】:
标题几乎说明了一切。我需要知道一种方法可以将基 10 颜色或十六进制颜色转换为可在终端中使用的 ANSI 颜色(例如\u001b[31m,在 ANSI 颜色中为红色)。
JavaScript 解决方案或 JS 库都很棒!
【问题讨论】:
标签: javascript node.js colors hex ansi
标题几乎说明了一切。我需要知道一种方法可以将基 10 颜色或十六进制颜色转换为可在终端中使用的 ANSI 颜色(例如\u001b[31m,在 ANSI 颜色中为红色)。
JavaScript 解决方案或 JS 库都很棒!
【问题讨论】:
标签: javascript node.js colors hex ansi
查看ANSI Escape Codes 我看到了一种在 ANSI 中使用 RGB 颜色的方法,因此您可以创建一个采用十六进制颜色并将其转换为 RGB 的函数,我假设您已经表示 RGB 基数为 10 种颜色 所以我们可以通过查看第一个字符是否为“#”来检查我们是否有十六进制颜色
if (color.toString()[0] == "#") { /* then you have yourself a hex color, let's make it RGB*/ }
function hexToRGB(color) {
color = color.toString();
var r = parseInt(color.substring(1, 3), 16);
var g = parseInt(color.substring(3, 5), 16);
var b = parseInt(color.substring(5, 7), 16);
return `rgb(${r}, ${g}, ${b})`;
}
所以在那之后你将拥有你的 RGB(假设你的十六进制颜色是 #FFFFFF 的形式)
【讨论】: