private void btnChangeRGBRenderer_Click(object sender, EventArgs e) { //Only effective to Raster Layer IMap map = axMapControl1.ActiveView.FocusMap; ILayer aLayer = map.get_Layer(0); //IRasterLayer rLayer = map.get_Layer(3) as IRasterLayer; //IRasterLayer rLayer = (IRasterLayer)aLayer; IRasterLayer rLayer = aLayer as IRasterLayer; IRaster raster = rLayer.Raster; IRasterBandCollection bandCol = raster as IRasterBandCollection; if (bandCol.Count < 3) { //not meet the requirements return; } IRasterRGBRenderer rgbRen = new RasterRGBRenderer(); IRasterRenderer rasRen = rgbRen as IRasterRenderer; rasRen.Raster = raster; rasRen.Update(); //change band ro renderer rgbRen.RedBandIndex = 2; rgbRen.GreenBandIndex = 1; rgbRen.BlueBandIndex = 0; //updtae renderer and refresh layer rLayer.Renderer = rgbRen as IRasterRenderer; axMapControl1.ActiveView.Refresh(); axTOCControl1.Update(); }
private void RGBCompositeRender(ILayer pLayerR, int bandred, int bandgreen, int bandblue) { // Get raster input from layer IRasterLayer rasterLayer = (IRasterLayer)pLayerR; IRaster raster = rasterLayer.Raster; IRasterBandCollection bandCol = (IRasterBandCollection)raster; if (bandCol.Count < 3) { return; } // Create UniqueValue renderer and QI RasterRenderer IRasterRGBRenderer2 rasterRGBRen = new RasterRGBRenderer() as IRasterRGBRenderer2; IRasterRenderer rasterRen = (IRasterRenderer)rasterRGBRen; // Connect the renderer and the raster rasterRen.Raster = raster; rasterRen.Update(); rasterRGBRen.RedBandIndex = bandred; rasterRGBRen.GreenBandIndex = bandgreen; rasterRGBRen.BlueBandIndex = bandblue; //Update render and refresh layer rasterRen.Update(); rasterLayer.Renderer = (IRasterRenderer)rasterRGBRen; }
public static bool UsingRGBRenderer(IRasterLayer irasterLayer_0) { IRaster raster = irasterLayer_0.Raster; IRasterBandCollection bands = raster as IRasterBandCollection; if (bands.Count < 3) { return(false); } IRasterRGBRenderer renderer = new RasterRGBRenderer(); IRasterRenderer renderer2 = renderer as IRasterRenderer; renderer2.Raster = raster; renderer2.Update(); renderer.RedBandIndex = 2; renderer.GreenBandIndex = 1; renderer.BlueBandIndex = 0; renderer2.Update(); irasterLayer_0.Renderer = renderer as IRasterRenderer; return(true); }
public static IRasterRGBRenderer RasterRGBRenderer(IRasterLayer irasterLayer_0) { IRasterRGBRenderer rasterRGBRenderer; try { IRasterRGBRenderer rasterRGBRendererClass = new RasterRGBRenderer(); IRasterRenderer raster = (IRasterRenderer)rasterRGBRendererClass; raster.Raster = irasterLayer_0.Raster; rasterRGBRendererClass.RedBandIndex = 0; rasterRGBRendererClass.GreenBandIndex = 1; rasterRGBRendererClass.BlueBandIndex = 2; raster.Update(); rasterRGBRenderer = raster as IRasterRGBRenderer; } catch (Exception exception) { Debug.WriteLine(exception.Message); rasterRGBRenderer = null; } return(rasterRGBRenderer); }