---
name: "ColourDataRawTransformer"
mode: "api"
versionRequirements:
  - { name: "@ray-js/panel-sdk", version: "1.0.0" }
title: "ColourDataRawTransformer"
summary: "ColourDataRawTransformer 用于解析照明 colour_data_raw DP，实现颜色数据原始格式的解析与格式化。"
questions:
  - "ColourDataRawTransformer 的作用是什么？"
  - "ColourDataRawTransformer 如何解析颜色数据原始格式？"
  - "ColourDataRawTransformer 的输入和输出是什么？"
  - "ColourDataRawTransformer 的转换规则是什么？"
---

## ColourDataRawTransformer

> [VERSION] @ray-js/panel-sdk >= 1.0.0

> 💡 适用于灯类产品的彩光 Raw 类型 DP（如 colour_data_raw），与  不同的是：
> - 协议格式为 hue(4位) + saturation(2位) + value(2位)，共 8 位十六进制字符
> - saturation 和 value 在解析时乘以 10、格式化时除以 10，值域为 0-1000

### 描述

彩光 Raw 类型 DP 协议转换器，用于 HSV 色值与 Raw DP 十六进制协议的双向转换

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `uuid` | `string` | 否 | DP 标识符，默认为 'colour_data_raw' |
| `defaultValue` | `TColorData` | 否 | 默认 HSV 值，当解析失败时返回此值 |

### 返回值

类型: `ColourDataRawTransformer`

ColourDataRawTransformer 实例

#### 方法

| 方法名 | 说明 |
| --- | --- |
| `parser` | 将 Raw DP 十六进制字符串解析为 HSV 色值对象 |
| `formatter` | 将 HSV 色值对象格式化为 Raw DP 十六进制字符串 |

### 引用对象

##### `type` TColorData

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `hue` | `number` | 色相 |
| `saturation` | `number` | 饱和度 |
| `value` | `number` | 亮度 |


### 示例代码

#### 示例

```ts
import { ColourDataRawTransformer } from '@ray-js/panel-sdk';

const transformer = new ColourDataRawTransformer();
// 解析 Raw DP 字符串
const hsv = transformer.parser('00780a0a');
// => { hue: 120, saturation: 100, value: 100 }

// 格式化为 Raw DP 字符串
const dpStr = transformer.formatter({ hue: 120, saturation: 100, value: 100 });
// => '0078000a000a' (hue 4位 + saturation/10 2位 + value/10 2位)
```
