迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中将 RGB 转换为 HEX

作者:迹忆客 最近更新:2024/03/19 浏览次数:

本教程将讨论如何使用 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

你还可以使用上面的代码创建一个函数,这样你就不必再次编写代码。同样,你可以将任何颜色空间转换为另一种颜色空间;你只需要了解不同色彩空间之间的区别。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

JavaScript === vs ==

发布时间:2024/03/19 浏览次数:87 分类:JavaScript

本教程教授何时使用哪个等号运算符(== 或 ===)。

JavaScript 中的双感叹号运算符示例

发布时间:2024/03/19 浏览次数:194 分类:JavaScript

JavaScript 双感叹号!!(不是不)提供与布尔表达式相同的结果(真,假)。JavaScript 中的双感叹号运算符是一元逻辑运算符 !(not) 的单次重复。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便