跳到主要内容

RGB/RGBA 颜色表达式

共同颜色构造、透明度与通道数组转换

原生动态库、桌面脚本与网页主线程/Worker使用共同求值器。

表达式参数与结果
['rgb', r, g, b]三个0~255有限数,透明度1
['rgba', r, g, b, a]RGB同上;透明度0~1
['to-rgba', color]返回四元素数值数组,RGB 0~255、透明度0~1
map.setPaintProperty('points', 'circle-color', [
  'rgba', ['get', 'red'], 64, 128, 0.25
]);
await map.sqs.flush({ render: true });

构造结果当前以CSS rgba(...) 字符串表示;可经过let/var/case、属性和普通颜色paint。to-rgba直接转换这种构造结果时保留浮点通道和透明度。其它CSS格式复用现有八位颜色解析器,因此透明度可能量化为1/255;最终GPU颜色同样为八位通道。typeof颜色仍返回string,没有专有Color值,不能据此声称完全兼容MapLibre类型系统。LAB/HCL插值另列待办。

非法参数数量与静态类型在写入前拒绝;运行时通道越界或无效CSS沿用paint默认值/警告机制。预算保持不变。失败命令水位的恢复方法见命令确认。

完整HTML示例包含四个按钮、全部事件处理、数据和来源声明;共同脚本可在支持这些共同接口的宿主运行。

语法参照MapLibre公开颜色表达式规范,实现由SqsMap自研。移动设备、Windows/macOS和正式发行验收独立记录。