public static setImageColorRGB(color: number) {
// 将16进制颜色分割成rgb值
let spliceColor = (color) => {
let result = { r: -1, g: -1, b: -1 };
result.b = color % 256;
result.g = Math.floor((color / 256)) % 256;
result.r = Math.floor((color / 256) / 256);
return result;
}
let result = spliceColor(color);
let colorMatrix = [
1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0
];
colorMatrix[0] = result.r / 255;
colorMatrix[6] = result.g / 255;
colorMatrix[12] = result.b / 255;
return colorMatrix
}
/**rgb 转16进制 */
public static setImageColorHEX(list: number[]) {
let hexcode = "0x";
for (let i = 0; i < list.length; i++) {
let n = list[i]
if (n > 255) {
return;
}
var c = "0123456789ABCDEF",
b = "",
a = n % 16;
b = c.substr(a, 1);
a = (n - a) / 16;
hexcode += c.substr(a, 1) + b
}
return Number(hexcode)
}
rgb和16进制互转
最新推荐文章于 2024-03-18 14:33:17 发布