最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

颜色

IT培训 admin 13浏览 0评论

颜色

我想将颜色代码从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);

颜色

我想将颜色代码从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);

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论