ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
using System.Windows; using ThinkGeo.MapSuite.Core; using ThinkGeo.MapSuite.WpfDesktopEdition; namespace ColorReplacement { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { // Set the Map Unit. wpfMap1.MapUnit = GeographyUnit.Meter; // Create WorldMapKitWmsWpfOverlay as the basemap. WorldMapKitWmsWpfOverlay wmk = new WorldMapKitWmsWpfOverlay(); wmk.Projection = WorldMapKitProjection.SphericalMercator; wmk.MapType = WorldMapKitMapType.Aerial; wpfMap1.Overlays.Add(wmk); // Create a single-tile overlay to hold the lake image. LayerOverlay layerOverlay = new LayerOverlay(); layerOverlay.TileType = TileType.SingleTile; wpfMap1.Overlays.Add("layerOverlay", layerOverlay); // Create a raster layer to load the lake image. RectangleShape targetExtent = new RectangleShape(-11191114.7309915, 4674772.10425472, -11189708.4809915, 4673647.10425472); GdiPlusRasterLayer rasterLayer = new GdiPlusRasterLayer(@"..\..\App_Data\Lake.png", targetExtent); layerOverlay.Layers.Add("raster", rasterLayer); wpfMap1.CurrentExtent = targetExtent; wpfMap1.Refresh(); } private void btnReplace_Click(object sender, RoutedEventArgs e) { LayerOverlay layerOverlay = (LayerOverlay)wpfMap1.Overlays["layerOverlay"]; GdiPlusRasterLayer rasterLayer = (GdiPlusRasterLayer)(layerOverlay.Layers["raster"]); // Set the ColorMappings. [Note: Before reuser, please clear it] rasterLayer.ColorMappings.Clear(); rasterLayer.ColorMappings.Add(GeoColors.Blue, GeoColors.Green); rasterLayer.ColorMappings.Add(GeoColors.Green, GeoColors.Blue); rasterLayer.Transparency = 150; wpfMap1.Refresh(); } } }