news 2026/4/23 12:20:40

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/4/23 6:01:44

C++学习之旅【实战全面解析C++类和对象】

🔥承渊政道:个人主页 ❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法初阶》《C初阶知识内容》 ✨逆境不吐心中苦,顺境不忘来时路! 🎬 博主简介: 引言:前篇文章,小编已经将我所学的C类和对象的相关知识介绍完了,俗话说的好,温故知新,…

作者头像 李华
网站建设 2026/4/22 14:39:04

如何一键生成文件二维码?文件二维码在线制作指南

日常工作和生活中,我们常常需要分享各类文件 —— 合同文档、课件资料、设计素材等,传统的文件传输方式要么受大小限制,要么操作繁琐。其实,给文件生成二维码,扫码即可直接下载或查看,无需复杂步骤&#xf…

作者头像 李华
网站建设 2026/4/23 11:39:42

软件工程正是为了应对“软件危机”而诞生的学科,其核心目标是通过系统化

软件工程正是为了应对“软件危机”而诞生的学科,其核心目标是通过系统化、规范化和可量化的方法来提高软件开发的效率与质量。面对第三代计算机硬件快速发展所带来的软件需求激增,传统的手工作坊式开发方式已无法满足复杂系统的构建需求,从而…

作者头像 李华
网站建设 2026/4/23 11:39:40

21、Ubuntu 软件安装、卸载与系统维护全攻略

Ubuntu 软件安装、卸载与系统维护全攻略 在 Ubuntu 系统中,软件的安装与卸载以及系统的维护和安全保障是日常使用中非常重要的环节。下面将详细介绍多种软件管理方式以及系统维护的相关内容。 1. Synaptic 软件包管理器 Synaptic 除了有用于显示类别和安装状态的“Sections…

作者头像 李华
网站建设 2026/4/23 11:39:12

dirsearch vs 传统扫描:效率提升300%的秘诀

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个优化版的dirsearch工具,要求:1. 实现动态字典生成算法 2. 自适应并发控制机制 3. 智能结果去重 4. 集成常见CMS指纹识别 5. 性能监控面板。比较优化…

作者头像 李华
网站建设 2026/4/23 11:39:29

1小时原型开发:智能console线诊断工具实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个智能console线诊断工具原型,功能包括:1) 自动识别连接的设备类型 2) 常见错误代码诊断 3) 波特率自动匹配 4) 交互式命令行界面。使用PythonFlask开…

作者头像 李华