当前位置: 首页 > news >正文

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);
http://www.cnnetsun.cn/news/52560.html

相关文章:

  • 005-AES:采招网
  • 基于python+django的在线考试系统(源码+lw+部署文档+讲解等)
  • C语言一维与二维数组名详解:从本质理解到高手应用
  • 当水印遇见AI:一场像素级的美学修复之旅
  • 软件测试是保障软件质量的关键环节,尤其在当前无法完全依赖形式化方法证明软件正确性的背景下,测试成为发现缺陷最主要、最有效的手段
  • 如何用AI快速生成Flink面试题答案?
  • 10分钟搞定:DeepSeek本地开发环境快速搭建方案
  • 豆包AI手机智能操控的硬核原理
  • CVE-2023-48795漏洞深度解析:原理与影响
  • 深入解析strspn:字符串扫描的精确尺子
  • 纺织AI设计系统:用技术重构创意与效率
  • 用AI辅助开发:weditor的自动化测试新体验
  • vivo真机adb 命令获取手机当前窗口信息
  • 3分钟极速安装!MinGW自动化方案对比
  • Spring Boot依赖冲突:新手必看指南
  • 1小时快速搭建Kiro下载工具原型
  • GitLab本地部署效率革命:比官方文档快3倍的极简方案
  • 智能问数如何让数据分析效率提升10倍
  • Phyfusion在游戏开发中的5个惊艳应用案例
  • 电商网站商品筛选栏的sticky定位实战
  • 零基础学结构体:从概念到实战5个例子
  • 5分钟搭建status_invalid_image_hash检测原型
  • 人工智能应用-机器视觉:车牌识别(1)
  • 5分钟搞定node-sass配置:快速原型开发指南
  • 幽冥大陆(四十九)PHP打造Java的Jar实践——东方仙盟筑基期
  • 从产线到质检,兰亭妙微教你做 “工人愿意用” 的工业 UI
  • 【数学】【微积分】 ① 导数的基础概念与计算法则
  • 咱们聊聊Spring循环依赖那点事儿:从“死锁”到“三级缓存”的奇妙之旅
  • Linux 文件拷贝性能对比:裸 `read/write` VS `fread/fwrite` —— 页面缓存与用户缓冲的真相(附完整测试代码)
  • 主散线指标 通达信源码