public static IRasterRenderer CreateDEMColorRamp(Raster gRaster) { IColor pStartColor = (IColor)CreateRGBColor(255, 235, 176); IColor pEndColor = (IColor)CreateRGBColor(38, 115, 0); IAlgorithmicColorRamp pColorRamp1 = CreateAlgorithmicColorRamp(pStartColor, pEndColor); pStartColor = (IColor)CreateRGBColor(38, 115, 0); pEndColor = (IColor)CreateRGBColor(115, 77, 0); IAlgorithmicColorRamp pColorRamp2 = CreateAlgorithmicColorRamp(pStartColor, pEndColor); pStartColor = (IColor)CreateRGBColor(115, 77, 0); pEndColor = (IColor)CreateRGBColor(255, 255, 255); IAlgorithmicColorRamp pColorRamp3 = CreateAlgorithmicColorRamp(pStartColor, pEndColor); List <IColorRamp> lColorRamps = new List <IColorRamp>(new IColorRamp[] { pColorRamp1, pColorRamp2, pColorRamp3 }); IMultiPartColorRamp pMultiPartColorRamp = CreateMultiPartColorRamp(lColorRamps); return(CreateContinuousRenderer(gRaster, pMultiPartColorRamp)); }
private void btnOK_Click(object sender, EventArgs e) { try { pMulitColorRampsResults = new MultiPartColorRampClass(); pMulitColorRampsResults = pMultiColorRamp; if (intLoadingPlaces == 1) { frmSymbology pForm = System.Windows.Forms.Application.OpenForms["frmProperties"] as frmSymbology; //pForm.DrawSymbolinListView(); pForm.DrawSymboliinDataGridView(); } else if (intLoadingPlaces == 2) { frmNewClassSeparbility pForm = System.Windows.Forms.Application.OpenForms["frmNewClassSeparability"] as frmNewClassSeparbility; pForm.DrawSymbolinChartwithCb(pForm.m_cb, pForm.m_intGCBreakeCount); //frmClassSeparability pForm = System.Windows.Forms.Application.OpenForms["frmClassSeparability"] as frmClassSeparability; //pForm.DrawSymbolinListView(); } else if (intLoadingPlaces == 3) { frmOptimizationSample pForm = System.Windows.Forms.Application.OpenForms["frmOptimizationSample"] as frmOptimizationSample; pForm.DrawSymbolinChartwithCb(pForm.m_cb, pForm.m_intGCBreakeCount); } else if (intLoadingPlaces == 4) { MessageBox.Show("The cmstom color ramp will be applied after udapting maps"); } this.Hide(); } catch (Exception ex) { frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog(); return; } }
private IEnumColors MultiPartColorRamp(string strColorRamp, string strAlgorithm, int intGCBreakeCount) { try { IEnumColors pEnumColors = null; if (strColorRamp == "Blue Light to Dark" || strColorRamp == "Green Light to Dark" || strColorRamp == "Orange Light to Dark" || strColorRamp == "Red Light to Dark") { IAlgorithmicColorRamp pColorRamp = new AlgorithmicColorRampClass(); switch (strAlgorithm) { case "HSV": pColorRamp.Algorithm = esriColorRampAlgorithm.esriHSVAlgorithm; break; case "CIE Lab": pColorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; break; case "Lab LCh": pColorRamp.Algorithm = esriColorRampAlgorithm.esriLabLChAlgorithm; break; default: pColorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; break; } IRgbColor pColor1 = new RgbColor(); IRgbColor pColor2 = new RgbColor(); switch (strColorRamp) { case "Blue Light to Dark": pColor1 = pSnippet.getRGB(239, 243, 255); pColor2 = pSnippet.getRGB(8, 81, 156); break; case "Green Light to Dark": pColor1 = pSnippet.getRGB(237, 248, 233); pColor2 = pSnippet.getRGB(0, 109, 44); break; case "Orange Light to Dark": pColor1 = pSnippet.getRGB(254, 237, 222); pColor2 = pSnippet.getRGB(166, 54, 3); break; case "Red Light to Dark": pColor1 = pSnippet.getRGB(254, 229, 217); pColor2 = pSnippet.getRGB(165, 15, 21); break; default: pColor1 = pSnippet.getRGB(254, 229, 217); pColor2 = pSnippet.getRGB(165, 15, 21); break; } Boolean blnOK = true; pColorRamp.FromColor = pColor1; pColorRamp.ToColor = pColor2; pColorRamp.Size = intGCBreakeCount; pColorRamp.CreateRamp(out blnOK); //arrColors = new int [intGCBreakeCount,3]; pEnumColors = pColorRamp.Colors; } else if (strColorRamp == "Custom") { Boolean blnOK = true; frmColorRamps m_pColorRamps = System.Windows.Forms.Application.OpenForms["frmColorRamps"] as frmColorRamps; IMultiPartColorRamp pMultiColorRamp = m_pColorRamps.pMulitColorRampsResults; pMultiColorRamp.Size = intGCBreakeCount; pMultiColorRamp.CreateRamp(out blnOK); pEnumColors = pMultiColorRamp.Colors; } else { IAlgorithmicColorRamp pColorRamp1 = new AlgorithmicColorRampClass(); IAlgorithmicColorRamp pColorRamp2 = new AlgorithmicColorRampClass(); switch (strAlgorithm) { case "HSV": pColorRamp1.Algorithm = esriColorRampAlgorithm.esriHSVAlgorithm; pColorRamp2.Algorithm = esriColorRampAlgorithm.esriHSVAlgorithm; break; case "CIE Lab": pColorRamp1.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; pColorRamp2.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; break; case "Lab LCh": pColorRamp1.Algorithm = esriColorRampAlgorithm.esriLabLChAlgorithm; pColorRamp2.Algorithm = esriColorRampAlgorithm.esriLabLChAlgorithm; break; default: pColorRamp1.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; pColorRamp2.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; break; } IRgbColor pColor1 = new RgbColor(); IRgbColor pColor2 = new RgbColor(); IRgbColor pColor3 = new RgbColor(); switch (strColorRamp) { case "Blue to Red": pColor1 = pSnippet.getRGB(49, 54, 149); pColor2 = pSnippet.getRGB(255, 255, 191); pColor3 = pSnippet.getRGB(165, 0, 38); break; case "Green to Purple": pColor1 = pSnippet.getRGB(0, 68, 27); pColor2 = pSnippet.getRGB(247, 247, 247); pColor3 = pSnippet.getRGB(64, 0, 75); break; case "Green to Red": pColor1 = pSnippet.getRGB(0, 104, 55); pColor2 = pSnippet.getRGB(255, 255, 191); pColor3 = pSnippet.getRGB(165, 0, 38); break; case "Purple to Brown": pColor1 = pSnippet.getRGB(45, 0, 75); pColor2 = pSnippet.getRGB(247, 247, 247); pColor3 = pSnippet.getRGB(127, 59, 8); break; default: pColor1 = pSnippet.getRGB(49, 54, 149); pColor2 = pSnippet.getRGB(255, 255, 191); pColor3 = pSnippet.getRGB(165, 0, 38); break; } pColorRamp1.FromColor = pColor1; pColorRamp1.ToColor = pColor2; pColorRamp2.FromColor = pColor2; pColorRamp2.ToColor = pColor3; Boolean blnOK = true; IMultiPartColorRamp pMultiColorRamp = new MultiPartColorRampClass(); pMultiColorRamp.Ramp[0] = pColorRamp1; pMultiColorRamp.Ramp[1] = pColorRamp2; pMultiColorRamp.Size = intGCBreakeCount; pMultiColorRamp.CreateRamp(out blnOK); pEnumColors = pMultiColorRamp.Colors; } pEnumColors.Reset(); return(pEnumColors); } catch (Exception ex) { MessageBox.Show(this.Handle.ToString() + " Error:" + ex.Message); return(null); } }
private void CreateMultipartRamps(string strAlgorithm, int intFormColumnCnt) { try { pMultiColorRamp = new MultiPartColorRampClass(); for (int i = 0; i < intRampsCounts + 1; i++) { IAlgorithmicColorRamp pColorRamp1 = new AlgorithmicColorRampClass(); switch (strAlgorithm) { case "HSV": pColorRamp1.Algorithm = esriColorRampAlgorithm.esriHSVAlgorithm; break; case "CIE Lab": pColorRamp1.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; break; case "Lab LCh": pColorRamp1.Algorithm = esriColorRampAlgorithm.esriLabLChAlgorithm; break; default: pColorRamp1.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; break; } IRgbColor pColor1 = new RgbColor(); IRgbColor pColor2 = new RgbColor(); pColor1 = pSnippet.getRGB(arrTotalColors[i, 0], arrTotalColors[i, 1], arrTotalColors[i, 2]); pColor2 = pSnippet.getRGB(arrTotalColors[i, 3], arrTotalColors[i, 4], arrTotalColors[i, 5]); if (pColor1 == null || pColor2 == null) { return; } pColorRamp1.FromColor = pColor1; pColorRamp1.ToColor = pColor2; pMultiColorRamp.Ramp[i] = pColorRamp1; } pMultiColorRamp.Size = intFormColumnCnt; Boolean blnOK = true; pMultiColorRamp.CreateRamp(out blnOK); pTotalEnumColors = pMultiColorRamp.Colors; arrFormViewColors = new int[intFormColumnCnt, 3]; pTotalEnumColors.Reset(); for (int k = 0; k < intFormColumnCnt; k++) { IColor pColor = pTotalEnumColors.Next(); IRgbColor pRGBColor = new RgbColorClass(); pRGBColor.RGB = pColor.RGB; arrFormViewColors[k, 0] = pRGBColor.Red; arrFormViewColors[k, 1] = pRGBColor.Green; arrFormViewColors[k, 2] = pRGBColor.Blue; } pTotalEnumColors.Reset(); } catch (Exception ex) { frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog(); return; } }