2016-09-08 5 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을 참조하십시오. 특히, "Toner"지도는 여러 가지 하위 품종으로 나뉘며, 그 중 어떤 것도 세슘에서 선택할 수 있습니다.

예를 들어, "토너 배경"버전을 시도, 당신은 사용한다 :

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 ({ URL : 'https://stamen-tiles.a.ssl.fastly.net/toner-background/', 신용 : 오시 베, 수술 디자인에 의한 '지도 타일, CC BY 3.0하에 OpenStreetMap에 의한 데이터, CC BY SA 하에서의 데이터 ' })); tonerLayer.alpha = 0.1; 코드가 주석으로 읽기 쉬워지기를 바랍니다. –

+0

정말 멋져 보인다! 주석의 코드를 응답 본문에 복사 했으므로 다른 사람이 읽고 사용할 수있게되었습니다. – emackey