符号系统中的属性驱动型颜色

您可以自定义要素符号,方法是将数据属性用作符号属性值。 当您使用符号中的颜色属性时,会有其他一些注意事项,因为有多种方式可用于动态定义颜色。

自定义颜色属性时,您必须提供字符串字段或者可以返回字符串的 Arcade 表达式。 该字符串必须符合 CSS 颜色模块等级 3 规范中所述的颜色定义或者 ArcGIS Pro 中支持的任何颜色模型

有关每个颜色模型,请参阅以下语法指南:

  • #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°。 无法渲染空值或具有无效颜色语法的值。 符号属性在着色时会基于符号中所指定的默认颜色。

相关主题