在 JavaScript 中将 RGB 转换为 HEX
本教程将讨论如何使用 JavaScript 中的 toString()
函数将 RGB 转换为 HEX。
使用 JavaScript 中的 toString()
函数将 RGB 转换为 HEX
JavaScript 中不同颜色空间之间的转换很困难,因为 JavaScript 中没有预定义的函数可以在不同颜色空间之间进行转换。
因此,我们必须制作自己的转换函数,将一种颜色空间转换为另一种颜色空间。要制作转换函数,我们需要知道两个颜色空间的区别。
例如 RGB 和 HEX 颜色空间的区别在于 RGB 是十进制格式,HEX 是十六进制格式。要从 RGB 转换为 HEX,我们只需要将每种颜色的十进制数从 RGB 转换为十六进制,然后将它们连接在一起即可创建等效的十六进制颜色空间。
要将值从十进制更改为十六进制,我们可以使用 toString(16)
函数。如果转换后的数字的长度是 1
,我们必须在它前面添加一个 0
。请参考下面的代码。
function ColorToHex(color) {
var hexadecimal = color.toString(16);
return hexadecimal.length == 1 ? '0' + hexadecimal : hexadecimal;
}
function ConvertRGBtoHex(red, green, blue) {
return '#' + ColorToHex(red) + ColorToHex(green) + ColorToHex(blue);
}
console.log(ConvertRGBtoHex(255, 100, 200));
输出:
#ff64c8
我们还可以使用 parseInt()
函数将 HEX 转换为 RGB。一个 HEX 颜色空间包含 6 个数字,不包括第一个数字。我们需要获取前 2 位数字并使用 parseInt()
函数将它们转换为十进制格式,这将是我们的红色。类似地,接下来的两位数字将为我们提供绿色,其余数字将为我们提供蓝色。
例如,让我们使用 parseInt()
函数将 HEX 颜色转换为 RGB。请参考下面的代码。
var hex = '#ff64c8';
var red = parseInt(hex[1] + hex[2], 16);
var green = parseInt(hex[3] + hex[4], 16);
var blue = parseInt(hex[5] + hex[6], 16);
console.log(red, green, blue);
输出:
255 100 200
你还可以使用上面的代码创建一个函数,这样你就不必再次编写代码。同样,你可以将任何颜色空间转换为另一种颜色空间;你只需要了解不同色彩空间之间的区别。
相关文章
在 JavaScript 中更改背景颜色
发布时间:2024/03/19 浏览次数:54 分类:JavaScript
-
我们可以使用 JavaScript 中的 backgroundColor 属性更改背景颜色。
JavaScript 中的双感叹号运算符示例
发布时间:2024/03/19 浏览次数:194 分类:JavaScript
-
JavaScript 双感叹号!!(不是不)提供与布尔表达式相同的结果(真,假)。JavaScript 中的双感叹号运算符是一元逻辑运算符 !(not) 的单次重复。