typescript 实现色值进制装换
时间: 2023-07-28 18:20:05 浏览: 71
下面是一个 TypeScript 实现的将 RGB 颜色值转换为十六进制色值的函数:
```typescript
function rgbToHex(r: number, g: number, b: number): string {
const hex = ((r << 16) | (g << 8) | b).toString(16);
return "#" + hex.padStart(6, "0");
}
```
这个函数将三个 RGB 颜色值作为输入参数,并返回一个十六进制颜色值的字符串。函数内部将 RGB 值转换为一个十六进制数字,然后将其转换为字符串并添加 "#" 前缀。如果十六进制数字不足 6 位,则在其前面添加零,以确保输出的颜色值有 6 位。
同样,下面是将十六进制颜色值转换为 RGB 颜色值的 TypeScript 函数:
```typescript
function hexToRgb(hex: string): { r: number; g: number; b: number } {
const num = parseInt(hex.substring(1), 16);
const r = (num >> 16) & 255;
const g = (num >> 8) & 255;
const b = num & 255;
return { r, g, b };
}
```
这个函数将一个十六进制颜色值作为输入参数,并返回一个包含三个 RGB 值的对象。函数内部将十六进制值解析为一个数字,然后将其转换为三个 RGB 值。注意,函数需要去除 "#" 前缀,并且需要使用位运算符来提取每个 RGB 值。