将ARGB格式转换为RGBA格式

4
我有一个8位十六进制数,格式为 aarrggbb 。我需要将其转换为 rrggbbaa 格式和相反的方式。例如:

ARGB格式

#FFFF2323

我需要的是RGBA格式

#FF2323FF


3
那么,你有一个字符串#FFFF2323?你想要'#FFFF2323'.replace(/#(..)(......)/, '#$2$1') - Jaromanda X
@JaromandaX 的解决方案非常优雅。请将其作为问题的答案 :-) - Emil S. Jørgensen
那个非正则表达式的答案去哪了!它原本很好。 - Jaromanda X
2个回答

5
如果你正在处理一个字符串 #FF123456

let x = '#FF123456';
console.log(x.replace(/#(..)(......)/, '#$2$1'));

如果 x 是一个数字,则 0xFF123456 -

let x = 0xFF123456
console.log(`#${(x & 0x0FFFFFF).toString(16).padStart(6, '0')}${(x >>> 24).toString(16).padStart(2, '0')}`);


2

您只需要将a[1]和a[2]移动到结尾即可。

var a = "#AABBCCDD";

var b = "#"+a.slice(3,9)+a[1]+a[2];


1
我喜欢你的更好 :p - Jaromanda X

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接