Ejemplo n.º 1
0
        //
        //更改栅格唯一值渲染符号
        //
        private void RenderRasterUniqueValue(ILayer layerOrElement, IRasterUniqueValueRenderer rasterUniqueValueRenderer, ISymbol symbol, int iHeading, int iClass)
        {
            esriSymbologyStyleClass styleClass;

            if (symbol is IFillSymbol)
            {
                styleClass = esriSymbologyStyleClass.esriStyleClassFillSymbols;
            }
            else if (symbol is IMarkerSymbol)
            {
                styleClass = esriSymbologyStyleClass.esriStyleClassMarkerSymbols;
            }
            else
            {
                if (!(symbol is ILineSymbol))
                {
                    return;
                }
                styleClass = esriSymbologyStyleClass.esriStyleClassLineSymbols;
            }
            IStyleGalleryItem item = new frmSymbolSelector
            {
                Owner = EnviVars.instance.MainForm
            }.GetItem(styleClass, symbol);

            if (item != null)
            {
                rasterUniqueValueRenderer.set_Symbol(iHeading, iClass, item.Item as ISymbol);
                this._mapControl.ActiveView.ContentsChanged();
                this._mapControl.Refresh(esriViewDrawPhase.esriViewGeography, layerOrElement, null);
            }
        }
Ejemplo n.º 2
0
        private void AsignarColorAClase(int iClase, string sEtiqueta, int red, int green, int blue, IRasterUniqueValueRenderer pRUVRenderer)
        {
            IColorSymbol pColorSymbol = new ColorSymbolClass();

            pRUVRenderer.AddValue(0, iClase, iClase);
            pRUVRenderer.set_Label(0, iClase, sEtiqueta);
            IRgbColor pColor = new RgbColorClass();

            pColor.Red         = red;
            pColor.Green       = green;
            pColor.Blue        = blue;
            pColorSymbol.Color = pColor as IColor;
            pRUVRenderer.set_Symbol(0, iClase, pColorSymbol as ISymbol);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 添加唯一值和设置标注符号
        /// </summary>
        /// <param name="uniqueValueRenderer">唯一值渲染</param>
        /// <param name="uniqueValue">唯一值</param>
        /// <param name="enumColors">颜色带</param>
        private static void AddValueAndSetLabelSymbol <T>(IRasterUniqueValueRenderer uniqueValueRenderer, List <T> uniqueValue,
                                                          IEnumColors enumColors)
        {
            IFillSymbol fillSymbol = new SimpleFillSymbolClass();

            for (int i = 0; i < uniqueValue.Count; i++)
            {
                object currentValue = uniqueValue[i];
                uniqueValueRenderer.AddValue(0, i, currentValue);
                fillSymbol.Color = enumColors.Next();
                string valueLabel = currentValue.ToString();
                if (StringHelper.IsNumeric(valueLabel))
                {
                    //获取四位小数的字符串
                    valueLabel = GetRound(currentValue);
                }
                uniqueValueRenderer.set_Label(0, i, valueLabel);
                uniqueValueRenderer.set_Symbol(0, i, (ISymbol)fillSymbol);
            }
        }