2016-09-08 54 views
1

有沒有人試圖做到這一點?據我從文檔中可以看出,似乎並沒有內置函數來實現這一點。有誰知道這是否可能?這可能是作者可能打算添加到該平臺的一個功能嗎?銫 - 將顏色過濾器應用於ImageryLayer

+0

[文檔](http://cesiumjs.org/Cesium/Build/Documentation/ImageryLayer.html)示出了亮度/對比度/色調/飽和度/灰度係數。你在尋找更多的自定義效果嗎?你想寫自己的着色器,還是隻想尋找更多的控制? – emackey

+0

具體來說,我一直在尋找簡單的圖像層,從簡約的地圖到只有淺灰色的空白地球。 –

回答

1

ImageryLayer documentation顯示如何控制亮度,對比度,色調,飽和度和伽馬校正。

爲了得到一個純色的地球儀,你可以刪除圖像層,像這樣:

var viewer = new Cesium.Viewer('cesiumContainer', { 
    baseLayerPicker: false 
}); 

var globe = viewer.scene.globe; 
globe.imageryLayers.removeAll(); 
globe.baseColor = Cesium.Color.LIGHTSLATEGRAY; 

A「極簡圖」(如你在評論中提到)是你很可能需要得到的東西來自自定義圖像提供商。有關這方面的一些示例,您可能想查看Stamen Maps。特別是,請注意他們的「碳粉」地圖有許多子品種,其中任何一種都可以在銫中選擇。

例如,嘗試「墨粉背景」的版本,你可以使用:

var viewer = new Cesium.Viewer('cesiumContainer', { 
    baseLayerPicker: false, 
    imageryProvider: Cesium.createOpenStreetMapImageryProvider({ 
     url : 'https://stamen-tiles.a.ssl.fastly.net/toner-background/', 
     credit : 'Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.' 
    }) 
}); 

編輯: @EmmanuelBuckski(OP)帶着這個想法,並用它跑,上述兩種技術混合在一起產生一個看起來非常好的結果!檢查出來:

var viewer = new Cesium.Viewer('cesiumContainer', { 
    baseLayerPicker: false 
}); 

var globe = viewer.scene.globe; 
globe.imageryLayers.removeAll(); 
globe.baseColor = Cesium.Color.fromCssColorString('#f3f3f3'); 

var tonerLayer = globe.imageryLayers.addImageryProvider(
    Cesium.createOpenStreetMapImageryProvider({ 
     url : 'https://stamen-tiles.a.ssl.fastly.net/toner-background/', 
     credit : 'Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.' 
    }) 
); 
tonerLayer.alpha = 0.1; 
+0

是的,謝謝,這非常有幫助。我發現了一個很好的配置,可以使用以下方法: var globe = viewer.scene.globe; globe.imageryLayers.removeAll(); globe.baseColor = Cesium.Color.fromCssColorString('#f3f3f3'); var tonerLayer = layers.addImageryProvider(Cesium.createOpenStreetMapImageryProvider({0})http://stamen-tiles.a.ssl.fastly.net/toner-background/', credit:'由Stamen Design繪製的地圖圖塊,在CC BY 3.0下,OpenStreetMap的數據,在CC BY SA下。' })); tonerLayer.alpha = 0.1; 希望代碼作爲評論可讀! –

+0

看起來很棒!我將評論中的代碼複製到答案的正文中,以便其他人閱讀和使用它。 – emackey

相關問題