首页 / Cesium / API 文档
Color
先看结论
RGBA 颜色,四个分量都归一化到 0–1。所有图形属性的颜色、 材质色、背景色都是它。
new Cesium.Color(red, green, blue, alpha)
构造参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
red | number | 1.0 | 红,0 到 1 |
green | number | 1.0 | 绿,0 到 1 |
blue | number | 1.0 | 蓝,0 到 1 |
alpha | number | 1.0 | 不透明度,0 全透明,1 不透明 |
常用成员与构造方法
| 成员 | 类型 / 返回 | 说明 |
|---|---|---|
red / green / blue / alpha | number | 四个分量,可直接改 |
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)。