Exemple #1
0
        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));
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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;
            }
        }