# 底图风格

::: details 目录
[[toc]]
:::

## 基本数据格式

``` json
{
    "default":{
        "stroke": "SColor",
        "fill": "SColor | Gradient",
        "lineWidth": "number",
        "effect": {}
    },
    "selected": {
        "stroke": "SColor",
        "fill": "SColor | Gradient",
        "lineWidth": "number",
        "effect": {}
    },
    "disabled": {
        "stroke": "SColor",
        "fill": "SColor | Gradient",
        "lineWidth": "number",
        "effect": {}
    },
}
```

## 数据格式定义,使用及扩展
1.以上数据内容只描写了框架中 item 已经支持的默认状态, 选中状态, 禁用状态及其对应的风格

2.如果需要其他状态的风格, 则需要在 item 中添加对应状态, 并在绘制时确定 item 当前处于何种状态, 同时风格数据中增加对应的状态及风格

3.<font color="red"> stroke </font> 为线条颜色, 其值为16进制的颜色字符串, 目前只支持6位和8位颜色字符串, 该字符串的生成方式,
  调用引擎中``` SColor ```类型中``` toVal() ```方法可生成6位16进制颜色; 调用<font color="red"> value </font>属性可得到8位16进制颜色
  
4.<font face="黑体" color="red"> Fill </font> 为渐变时, 其值为描述渐变的字符串,如
    ```'SLinearGradient{0,0;0,1000;0,#ff483bff;0.5,#04ff00ff;1,#3d4effff;}'```
    ```'SRadialGradient{500,500,50;500,500,500;0,#ff483bff;0.5,#04ff00ff;1,#3d4effff;}' ```该字符串生成方式, 调用``` SGradient ```类型的``` value() ```方法即可生成;格式严格遵循示例,尽量不要手动拼接;
  <br /><font face="黑体" color="red"> Fill </font> 为普通颜色时, 其值与 <font face="黑体" color="red"> Stroke </font> 一致
  
5.<font face="黑体" color="red"> lineWidth </font> 为线条宽度, 数字类型

6.详情使用方式,参阅 [场景管理- item 示例-矩形](../scene/items/rect.md)


## 基本状态与 item 属性对应关系

<format-style />