JS/TSでRGBをPIXI JSのColorの数値型に変換するには?
解説
まず、RGB値のR,G,Bの値を"toString(16)"で16進数に変換し、
その16進数の値が1桁の場合は、先頭に0をつける。
最後に、"0x"に16進数のR,G,Bの値をくっつけて"parseInt"で数字に変換したら完成!
Javascript版
export function ToHex(R,G,B) {
function hex(rgb) {
const ret = rgb.toString(16);
if (ret.length == 1) return "0" + ret;
else return ret;
}
const r = hex(R);
const g = hex(G);
const b = hex(B);
return parseInt("0x" + r + g + b);
}
Typescript版
export function ToHex(R:number,G:number,B:number) {
function hex(rgb: number) {
const ret = rgb.toString(16);
if (ret.length == 1) return "0" + ret;
else return ret;
}
const r = hex(R);
const g = hex(G);
const b = hex(B);
return Number.parseInt("0x" + r + g + b);
}
Comments
parseInt()
の基数指定やビットシフトとビットORを使えば簡潔に書けますよ。Let's comment your feelings that are more than good