自定义地图风格
THEngine 提供了底图滤镜调节,可以自定义地图风格,方便做大屏项目的地图效果。可以使用天地图的电子地图或者高德电子地图来设置滤镜效果,电子图层的滤镜效果比较好。
一、调用案例
//天地图电子地图
const layerCollection = new THEngine.layer.LayerCollection(viewer);
layerCollection.add({
type: "tdtTileVector",
tk: "a1e8bdfa8c99b4dfa9d8168f30f1b25f",
filter: [40 / 255, 100 / 255, 200 / 255, 1.0], //传入rgba颜色参数,直接修改shader中的颜色
brightness: 0.8, //亮度
contrast: 1.2, //对比度
gamma: 0.3, //伽马
hue: 1, //色调
saturation: 1.0,//饱和度
});
//高德电子地图
layerCollection.add({
type: "gdTileVector",
crs: "WGS84",
filter: [40 / 255, 100 / 255, 200 / 255, 1.0],//传入rgba颜色参数,直接修改shader中的颜色
brightness: 0.8,//亮度
contrast: 1.2, //对比度
gamma: 0.3, //伽马
hue: 1, //色调
saturation: 1.0,//饱和度
});
二、参数说明
参数名 | 类型 | 描述 | 示例值 |
---|---|---|---|
type | String | 图层类型,例如gdTileVector 高德地图电子地图 | "gdTileVector" |
filter | Array | 传入 RGBA 颜色参数,用于直接修改着色器(shader)中的颜色。数组内的值分别对应红(R)、绿(G)、蓝(B)、透明度(A),取值范围是 0 到 1。 | [40 / 255, 100 / 255, 200 / 255, 1.0] |
brightness | Number | 图层的亮度值。数值越大,图层越亮;数值越小,图层越暗。取值范围[0,1]。 | 0.8 |
contrast | Number | 图层的对比度值。数值大于 1 会增强对比度,数值小于 1 会降低对比度。取值范围[-5,5] | 1.2 |
gamma | Number | 图层的伽马值。伽马校正用于调整图像的亮度分布,不同的伽马值会影响图像的亮部和暗部表现。 | 0.3 |
hue | Number | 图层的色调值。色调决定了颜色的种类,例如红色、绿色等。 | 1 |
saturation | Number | 图层的饱和度值。数值越大,颜色越鲜艳;数值越小,颜色越接近灰色。 | 1.0 |