2015-01-17 14 views
5

OL3'teki bir vektör özelliğinin dolgu opaklığını ayarlamaya çalışıyorum ve onaltılık bir değere sahip olduğumda nasıl yapılacağını anlayamıyorum ... I ' ve rgba ile görülen örnekler. Baska öneri?Vektör Özellik Ayarı Onaltılık bir renkiniz olduğunda Opaklığı Doldurma

İşte ne var:

style : function(feature, resolution) { 
      return [new ol.style.Style(
      { 
      stroke : new ol.style.Stroke(
      { 
       color : feature.get('color'), 
       width : 2 
      }), 
      fill : new ol.style.Fill(
      { 
       color : feature.get('color'), //'#FF0000' 
       opacity : 0.2 // I thought this would work, but it's not an option 
      }) 
      })] 
     } 

cevap

9

Sen ol.color.asArray işlevini kullanabilirsiniz. Bu işlev, renk dizelerini renk dizilerine dönüştürür.

Yani bu kullanabilirsiniz budur: yeni bir renk dizisi oluşturmak için kullanılır

var hexColor = feature.get('color'); 
var color = ol.color.asArray(hexColor); 
color = color.slice(); 
color[3] = 0.2; // change the alpha of the color 

slice(). Bu, ol.color.asArray işlevinin korunduğu "renk dizelerini renk dizilerine" önbelleğinin bozulmasını önlemek içindir.

Bkz. http://openlayers.org/en/master/apidoc/ol.color.html?unstable=true#asArray.

3

Bu gecikti ama birine yardım edebilir. rgba özelliğini kullanarak da mümkündür.

fill: new ol.style.Fill({color: 'rgba(255, 255, 0, 0.63)'}), 
İlgili konular