【发布时间】:2013-03-19 08:43:37
【问题描述】:
我想要做的是:
- 从元素中获取 RGB 值
- 将其转换为十六进制
- 将其放入文本字段中
第一种解决方案:
(取自本帖RGB to Hex and Hex to RGB)
function rgbToHex(r, g, b) {
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
}
问题是:无论我喂它什么,它都只会返回#aN。是功能有缺陷还是我做错了什么?
第二种解决方案:
来自与上面提到的相同的帖子。
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(r, g, b) {
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}
如果我将值作为数字传递给 rgbToHex(255,255,255),则此方法有效,但如果我尝试将数字作为变量 rgbToHex(rgbValue) 提供,则不会执行任何操作。 (参见演示中的第 19 到 25 行)
感谢所有帮助:)
【问题讨论】:
-
那么,你将一个参数传递给一个三参数函数并期望它工作?
-
谢谢 :) 我只是继续删除这个愚蠢的问题。
标签: javascript hex rgb