经纬志
首页 / Cesium / API 文档

Color

先看结论

RGBA 颜色,四个分量都归一化到 0–1。所有图形属性的颜色、 材质色、背景色都是它。

最后验证 2026-11-03 · CesiumJS 1.121 · 更新 2026-10-28 · 引用本文
new Cesium.Color(red, green, blue, alpha)

构造参数

参数类型默认说明
rednumber1.0红,0 到 1
greennumber1.0绿,0 到 1
bluenumber1.0蓝,0 到 1
alphanumber1.0不透明度,0 全透明,1 不透明

常用成员与构造方法

成员类型 / 返回说明
red / green / blue / alphanumber四个分量,可直接改
Color.fromCssColorString(str)Color | undefined解析 #fff、#rrggbbaa、rgb()、rgba()、颜色名;失败返回 undefined
Color.fromBytes(r, g, b, a, result)Color用 0–255 的整数构造,a 默认 255
withAlpha(alpha, result)Color返回改了透明度的新颜色,原对象不变
toCssColorString()string输出 rgba(...) 字符串
toCssHexString()string输出 #rrggbb,透明度被丢弃
clone(result) / equals(other)Color / boolean拷贝与相等判断
Color.WHITE、RED、ORANGE、TRANSPARENT …Color预置常量,避免反复构造

示例

// 直接分量:半透明蓝
var blue = new Cesium.Color(0.2, 0.55, 1.0, 0.5);

// CSS 字符串最常用
var brand = Cesium.Color.fromCssColorString('#e8b04b');

// 字节值,方便对接后端返回的 0-255 色值
var rgb = Cesium.Color.fromBytes(40, 120, 200, 255);

// 复制一份再改透明度,不动原色
var soft = brand.withAlpha(0.25);

viewer.entities.add({
  position: Cesium.Cartesian3.fromDegrees(116.391, 39.907, 0),
  point: {
    pixelSize: 14,
    color: soft,
    outlineColor: Cesium.Color.WHITE,
    outlineWidth: 3
  }
});

console.log(rgb.toCssHexString());  // #2878c8
console.log(soft.toCssColorString()); // rgba(232, 176, 75, 0.25)

注意事项

  • 分量超过 1 或小于 0 不会自动截断,写错值时颜色会异常,fromCssColorString 更稳妥。
  • Color.RED 这类常量是共享对象,直接改 red 会让所有用到它的地方一起变色,要改请先 clone。
  • WebGL 混合需要 alpha 小于 1 且材质开启 translucent,只设 alpha 不一定看得到透明效果。
  • HDR 场景里颜色亮度可以大于 1,但普通 fromCssColorString 只产生 0–1 范围。
引用本文

经纬志(2026)。《Color》。https://www.jingweizhi.com/cesium/api/color.html(访问日期 2026-11-03)。