作者:taco
在项目中通常会出现,高亮对象。给对象设置颜色的一些问题。那么针对颜色设置在超图的 iClient3D for WebGl/WebGPU 中又提供了哪些方式呢?本篇文章将介绍一些颜色的设置方法。以及一些颜色的参数设置。
在iClient3D for WebGl/WebGPU 中主要以SuperMap3D.Color来配置颜色。

1.颜色模块
在Color的方法中提供了一些默认的颜色模块,可以直接使用。这里整理了所有可直接设置的颜色供大家参考。



这里可以直接调用上述颜色来使用
var color = SuperMap3D.Color.AQUA;
2.Color(red,green,blue,alpha)
当然上面哪些单词对于一个英语好的人,或者是外国人可能能记住。但是身为一个搞代码的,怎么可能记住那么多颜色。那么就需要通过别的方式来修改颜色了。我们通过new SuperMap3D.Color()方式可以直接创建颜色。在Color中的参数分别为red,green,blue,alpha而取值范围分别都在0-1的区间内。
我们定义一个polygon 来赋予其颜色,当我们new一个颜色值并不设置参数时,颜色显示为白色。
var color = new SuperMap3D.Color()
//自定义polygon
var polygon = viewer.entities.add({
polygon: {
hierarchy: {
positions: [new SuperMap3D.Cartesian3(290254.5148736448, 5637924.074937166,
2971777.4768239637),
new SuperMap3D.Cartesian3(286432.14053509803, 5640804.651089405, 2966391.9275969476),
new SuperMap3D.Cartesian3(283512.2666752818, 5640502.494127799, 2969385.3689191523),
new SuperMap3D.Cartesian3(287036.36797237827, 5636827.146248645, 2974105.8904601005)
]
},
material: color,
}
});
viewer.zoomTo(polygon);

这里如果不设置alpha值的话也是可以的。透明度会给与默认值1。
var color = new SuperMap3D.Color(1,0,0)

当我们的数值越趋近于0的话,这个色段的颜色会越深,越趋近于1时则越明亮。
var color = new SuperMap3D.Color(0.3,0,0)

Alpha的取值范围也在0-1之内,可以通过调整alpha值直接修改其透明度。
var color = new SuperMap3D.Color(1,0,0,0.5)

取值范围如果超过1的话颜色均会变为黑色。
var color = new SuperMap3D.Color(2,0,0)


本文介绍了在iClient3DforWebGl/WebGPU中如何使用SuperMap3D.Color进行颜色配置,包括直接调用预设颜色、自定义颜色(红色、绿色、蓝色和透明度)、颜色运算(加法、减法、模运算、乘法、除法),以及颜色类型转换和包装/解包等方法。
最低0.47元/天 解锁文章
2436

被折叠的 条评论
为什么被折叠?



