news 2026/9/3 1:24:58

Cesium快速入门到精通系列教程二十二:Cesium1.95中设置颜色的方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cesium快速入门到精通系列教程二十二:Cesium1.95中设置颜色的方式

一、基础颜色定义方式

Cesium 中最核心的颜色类是 Cesium.Color,所有可视化元素(模型、几何体、材质、标签等)的颜色最终都依赖此类定义,主要有以下初始化方式:

1. 预定义纯色(直接调用内置常量)

Cesium 内置了常用的基础颜色常量,无需手动配置 RGBA,开箱即用:

// 常用预定义颜色 const red = Cesium.Color.RED; // 红色 (255,0,0,255) const green = Cesium.Color.GREEN; // 绿色 (0,255,0,255) const blue = Cesium.Color.BLUE; // 蓝色 (0,0,255,255) const white = Cesium.Color.WHITE; // 白色 (255,255,255,255) const black = Cesium.Color.BLACK; // 黑色 (0,0,0,255) const transparent = Cesium.Color.TRANSPARENT; // 全透明 (0,0,0,0) // 更多:CYAN(青)、MAGENTA(品红)、YELLOW(黄)、GRAY(灰)等 const green2 = Cesium.Color.GREEN.withAlpha(0.5)

2. RGBA 数值初始化(最常用)

通过红、绿、蓝、透明度的归一化值(0~1) 定义颜色,是最灵活的方式:

// 格式:Cesium.Color(red, green, blue, alpha) const customColor = new Cesium.Color(1.0, 0.5, 0.0, 1.0); // 橙色(不透明) const semiRed = new Cesium.Color(1.0, 0.0, 0.0, 0.5); // 半透明红色

3. 十六进制字符串 / 数值初始化

兼容前端常用的十六进制颜色格式(支持 #rrggbb/#rrggbbaa/0xrrggbb):

// 方式1:十六进制字符串(带#) const hexColor1 = Cesium.Color.fromCssColorString('#FF5733'); // 橙色 const hexColor2 = Cesium.Color.fromCssColorString('#FF573380'); // 半透明橙色(80是alpha) // 方式2:十六进制数值 const hexColor3 = Cesium.Color.fromRgba(0xFF5733FF); // 0xRRGGBBAA,最后两位是alpha

4. CSS 颜色名 / 渐变兼容

通过 CSS 标准颜色名或 RGBA 字符串初始化,兼容前端样式习惯:

// CSS 颜色名 const cssColor1 = Cesium.Color.fromCssColorString('orange'); // CSS RGBA 字符串 const cssColor2 = Cesium.Color.fromCssColorString('rgba(255, 87, 51, 0.5)');

5. HSL/HSV 颜色空间(进阶)

支持色相(H)、饱和度(S)、亮度(L)/ 明度(V)初始化,适合色彩调整:

// HSL:色相(0~360)、饱和度(0~1)、亮度(0~1)、alpha(0~1) const hslColor = Cesium.Color.fromHsl(30, 1.0, 0.5, 1.0); // 橙色(30度色相) // HSV:色相(0~360)、饱和度(0~1)、明度(0~1)、alpha(0~1) const hsvColor = Cesium.Color.fromHsv(30, 1.0, 1.0, 1.0);
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 0:24:54

路径覆盖是一种白盒测试方法,旨在设计足够的测试用例,使得程序中的每一条可能执行路径至少被执行一次

路径覆盖的实际可行情况 路径覆盖是一种白盒测试方法,旨在设计足够的测试用例,使得程序中的每一条可能执行路径至少被执行一次。理论上,若一段代码包含多个分支(如 if-else、循环等),其组合会产生大量路径。…

作者头像 李华
网站建设 2026/9/3 0:24:45

设计一个支持多种任务类型的任务调度器,需综合考虑任务的触发机制、执行周期、优先级管理

设计一个支持多种任务类型的任务调度器,需综合考虑任务的触发机制、执行周期、优先级管理、资源分配和同步协调。其核心目标是实现高响应性、可预测性和可扩展性,尤其适用于嵌入式系统、实时系统或复杂业务平台。 设计思路与关键组件: 任务抽…

作者头像 李华
网站建设 2026/9/2 10:05:41

Centos6.7配置eclipse

一、jdk安装 jdk下载https://www.oracle.com/java/technologies/downloads/ 在master主机上终端的root权限下操作 我将本地已有的jdk安装包文件,直接从电脑拖动到master虚拟机桌面 执行下列命令,在master主机执行代码安装jdk,jdk包对应你的…

作者头像 李华
网站建设 2026/9/1 23:50:04

传奇3韩国新地图怪物和爆率介绍

传奇3韩国新地图怪物介绍韩国版本传奇3通常会推出一些独特的新地图,这些地图中的怪物设计往往与经典版本有所不同。以下是一些可能出现在韩国新地图中的怪物类型:高等级怪物 新地图通常包含等级较高的怪物,攻击力和生命值较强,适合…

作者头像 李华
网站建设 2026/9/2 18:18:29

小白也能懂的连接错误解决指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式新手学习应用:1. 用快递送货比喻网络连接 2. 设计5个常见错误的动画演示 3. 提供一键检测按钮 4. 输出带emoji的简单报告 5. 内置救命按钮连接社区支持。…

作者头像 李华