在 openlayers 样式中使用颜色文字设置不透明度
set opacity with color literal in openlayers style
在 openLayers 3 中,我采用 GeoJSON 格式的一些功能并为它们创建样式。
特征的值为 "income",其值为 "red"、"blue"、"green" 等
所以我想为特征的颜色添加 alpha,但因为颜色是一个词而不是 RGB,所以我不能。
我愿意
var color = feature.get('income');
fill: new ol.style.Fill({
color: [color, 0.75]
})
并且所有特征都是黑色的。
我该找谁解决这个问题?
谢谢
更新
假设我将每个 "income" 属性的值从单词更改为 RGB,所以现在不是 "blue",而是“0,0,127”,然后我尝试组成一个字符串
var color = feature.get('income');
var colorfinal = '[' + color + ',0.3]';
var fill = new ol.style.Fill({
color: colorfinal
});
而且所有功能仍然是黑色的。好吧,打败我了。
在您的字符串中添加 rgba 并删除括号。在这里查看
new ol.style.Style({
stroke: new ol.style.Stroke({
color: 'rgba(0, 0, 0, 0.8)',
lineDash: [10, 10],
width: 3
}),
fill: new ol.style.Fill({
color: 'rgba(255, 255, 255, 0.5)'
})
})
在 openLayers 3 中,我采用 GeoJSON 格式的一些功能并为它们创建样式。
特征的值为 "income",其值为 "red"、"blue"、"green" 等
所以我想为特征的颜色添加 alpha,但因为颜色是一个词而不是 RGB,所以我不能。
我愿意
var color = feature.get('income');
fill: new ol.style.Fill({
color: [color, 0.75]
})
并且所有特征都是黑色的。
我该找谁解决这个问题?
谢谢
更新
假设我将每个 "income" 属性的值从单词更改为 RGB,所以现在不是 "blue",而是“0,0,127”,然后我尝试组成一个字符串
var color = feature.get('income');
var colorfinal = '[' + color + ',0.3]';
var fill = new ol.style.Fill({
color: colorfinal
});
而且所有功能仍然是黑色的。好吧,打败我了。
在您的字符串中添加 rgba 并删除括号。在这里查看
new ol.style.Style({
stroke: new ol.style.Stroke({
color: 'rgba(0, 0, 0, 0.8)',
lineDash: [10, 10],
width: 3
}),
fill: new ol.style.Fill({
color: 'rgba(255, 255, 255, 0.5)'
})
})