您可以自定义要素符号,方法是将数据属性用作符号属性值。 当您使用符号中的颜色属性时,会有其他一些注意事项,因为有多种方式可用于动态定义颜色。
自定义颜色属性时,您必须提供字符串字段或者可以返回字符串的 Arcade 表达式。 该字符串必须符合 CSS 颜色模块等级 3 规范中所述的颜色定义或者 ArcGIS AllSource 中支持的任何颜色模型。
有关每个颜色模型,请参阅以下语法指南:
- #RGB、#RRGGBB、#RRGGBBAA
- rgb(r, g, b),rgba(r, g, b, a)
- 对红 (R)、绿 (G) 和蓝 (B) 值使用 0 至 255 之间的十进制值。
- 对 alpha (A) 值,使用介于 0 和 1 之间的十进制值。
- rgb(r%, g%, b%),rgba(r%, g%, b%, a)
- 对红 (R)、绿 (G) 和蓝 (B) 值使用 0 至 255 之间的十进制值。
- 对 alpha (A) 值,使用介于 0 和 1 之间的十进制值。
- 如果不存在 % 符号,则数字将会被视为颜色值。
- hsl(h, s%, l%),hsla(h, s%, l%, a)
- 对色调 (H) 值,使用介于 0 和 360 之间的十进制值。
- 对饱和度 (S) 和亮度 (L) 值使用 0 至 100 之间的十进制值。
- 大多数情况下,不需要 % 符号。 但是,创作矢量切片时,必须使用 % 符号才能与在要素图层中显示的颜色相匹配。 在矢量切片中,将在 0 和 1 之间进行插值,这样当缺少 % 符号时,大于或等于 1 的值将视为 100%。
- hsv(h, s%, v%),hsva(h, s%, v%, a)
- 对色调 (H) 值,使用介于 0 和 360 之间的十进制值。
- 对饱和度 (S) 和亮度 (V) 值使用 0 至 100 之间的十进制值。
- 无需使用 % 号。
- cmyk(c, m, y, k),cmyka(c, m, y, k, a)
- 对青 (C)、品红 (M)、黄 (Y) 和黑 (K) 值使用 0 至 100 之间的十进制值。
- 对 alpha (A) 值,使用介于 0 和 1 之间的十进制值。
- 无需使用 % 号。
- Lab(l, a, b),Laba(l, a, b, a)
- 对亮度 (L) 值使用 0 至 100 之间的十进制值。
- 对绿红 (a) 和蓝黄 (b) 值使用介于 -128 和 127 之间的十进制值。
- 对 alpha (a) 值,使用介于 0 和 1 之间的十进制值。
- Gray(g)、Graya(g, a)、Grey(g)、Greya(g, a)
- 对灰度 (g) 值,使用介于 0 和 255 之间的十进制值。
- 对红 (R)、绿 (G) 和蓝 (B) 值使用 0 至 255 之间的十进制值。
- Named web colors
- 定义为扩展颜色关键字规范中所指定的颜色关键字。
透明度值在颜色定义中必须转换为不透明度值并指定为 alpha 值。 例如,要获得 40% 的透明度,请将 alpha 值设置为 0.6。
值不区分大小写,但是必须以逗号分隔。 超出范围的值会使用最接近的颜色值替换。 例如,rgb(265, 55, -1) 将解释为 rgb(255, 55, 0)。 当颜色模型需要色调分量时例外。 色调以度为单位进行测量,且没有边界。 超过 360 度或小于 0 度的值将根据它们在颜色轮上的相对位置进行解释。 例如,色调 -5°被视为 355°。 无法渲染空值或具有无效颜色语法的值。 符号属性在着色时会基于符号中所指定的默认颜色。