gpt4 book ai didi

javascript - COLORREF 转 RGB

转载 作者:行者123 更新时间:2023-12-02 16:52:40 37 4
gpt4 key购买 nike

我正在尝试使用 JavaScript 转换 COLORREF:

COLORREF :

When specifying an explicit RGB color, the COLORREF value has the following hexadecimal form:

0x00bbggrr

The low-order byte contains a value for the relative intensity of red; the second byte contains a value for green; and the third byte contains a value for blue. The high-order byte must be zero. The maximum value for a single byte is 0xFF.

To create a COLORREF color value, use the RGB macro. To extract the individual values for the red, green, and blue components of a color value, use the GetRValue, GetGValue, and GetBValue macros, respectively.

我知道 UInt32Array 但我不知道如何使用它。

如何从 COLORREF 转换为 RGB?

它应该与我发现的这个函数相反:

 cssColorToCOLORREF: function(csscolor) {
let rgb = csscolor.substr(1);
let rr = rgb.substr(0, 2);
let gg = rgb.substr(2, 2);
let bb = rgb.substr(4, 2);
return parseInt("0x"+bb+gg+rr);
},

最佳答案

COLORREF 被定义为 DWORD,这是 Microsoft 对 32 位无符号整数的名称,因此它的值可以分为 R、G、 B、A 组件使用常规位操作。

作为数组:

input = 4294967295;
output = [
input & 0xff,
(input >> 8) & 0xff,
(input >>16) & 0xff,
(input >>24) & 0xff
];

导致输出顺序为[red, green, blue, alpha];或作为一个对象:

output = {
r: input & 0xff,
g:(input >> 8) & 0xff,
b:(input >>16) & 0xff,
a:(input >>24) & 0xff
};

生成output.routput.goutput.boutput.a

关于javascript - COLORREF 转 RGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26449049/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com