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); }
/// <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); } }
// 唯一值渲染器设置 private void SetRasterRendererInfo(IRasterUniqueValueRenderer renderer, int iclass, object value, string label) { renderer.AddValue(0, iclass, value); renderer.set_Label(0, iclass, label); }