admin管理员组文章数量:1122920
颜色
我想将颜色代码从rgb(样本输入是255,255,255
)转换为像[ 0xFF, 0xFF, 0xFF ]
这样的字节数组。
我怎么能正确地做到这一点?
我的第一次尝试是拆分RGB-Sections并将其解析为HEX Color并将其转换为整数:
this.addColor = function addColor(buffer, color) {
var parts = color.split(',');
var red = parts[0].toString(16);
var green = parts[1].toString(16);
var blue = parts[2].toString(16);
buffer.writeByte(parseInt("0x" + (red.length == 1 ? "0" + red : red, 16)));
buffer.writeByte(parseInt("0x" + (green.length == 1 ? "0" + green : green, 16)));
buffer.writeByte(parseInt("0x" + (blue.length == 1 ? "0" + blue : blue, 16)));
};
原始如下,但我想动态地制作它:
buffer.writeByte('f'); // These Char says "its a foreground color"
buffer.writeByte(0xFF); // Red
buffer.writeByte(0xFF); // Green
buffer.writeByte(0xFF); // Black
结果将输出为fÿÿÿ
!
不确定你在buffer
写的是什么,但如果你想简单地将decimal array
转换为hex string array
,
你可以试试:
arr.map(n=>'0x' + n.toString(16))
现在巡回阵列可以来自一个字符串"255,255,255"
,可以通过,
分割它,或者你需要它。如果要从字符串中拆分,则需要先解析。 (parseInt(n).toString(16)
)休息你需要根据你的需要实施。
示例代码:
var arr = [255, 230, 255];
var hexArr = arr.map(n=>'0x' + n.toString(16));
console.log(hexArr);
本文标签: 颜色
版权声明:本文标题:颜色 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1712640964a795940.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论