He creado una función que establece el IColor
a un determinado ILayer
El valor de la transparencia está entre 0 y 255. Cuando pongo el valor en 0, me da una capa transparente que está bien, pero cuando lo pongo en 1,2,3,4,5,....255 me da el color como si tuviera 255 de transparencia. No entiendo, qué es lo que falla en mi código:
public static void setLayerColor(ILayer layer, IColor fillColor, IColor outlineColor, short width = 1)
{if (layer == null || fillColor == null || outlineColor == null) return;
IGeoFeatureLayer geoFeatureLayer = (IGeoFeatureLayer)layer;
ISimpleRenderer simpleRenderer = (ISimpleRenderer)geoFeatureLayer.Renderer;
ISimpleFillSymbol symbol = new SimpleFillSymbolClass();
ILineSymbol lineSymbol = new SimpleLineSymbolClass();
lineSymbol.Width = width;
lineSymbol.Color = outlineColor;
symbol.Color = fillColor;
symbol.Outline = lineSymbol;
simpleRenderer.Symbol = (ISymbol)symbol;}
Mi función tiene 4 parámetros:
-
ILayer
la capa de la que quiero cambiar su color. -
IColor
, fillColor. -
IColor
, outlineColor. -
short
la anchura del contorno.