阅读:1971回复:4
怎样改变图层的颜色,急急?
<P>我想改变IFeatureLayerPtr 图层的颜色,该如何去做.</P>
<P>看到好多使用IGraphicsLayerPtr 改变图层的颜色以及符号样式,但是IGraphicsLayerPtr 好像只是通过IFeatureLayerPtr 来获取IGeometryPtr 然后进行符号颜色等改变的,原来的图层显示没有变化.</P> <P>为什么啊?</P> |
|
1楼#
发布于:2006-08-21 10:19
<P>期待你的问题能够尽快解决 ,我也正在处理同样的事情</P>
|
|
2楼#
发布于:2006-08-25 16:47
<P>通过IFeatureLayerPtr 得到 IGeoFeatureLayer ,然后方法 <STRONG>putref_Renderer(</STRONG><a href="mk:@MSITStore:D:\Program%20Files\ArcGIS\DeveloperKit\Help\COM\VCPP\esriCartoVC.chm::/IFeatureRenderer.htm" target="_blank" ><STRONG>IFeatureRenderer</STRONG></A><STRONG>*</STRONG> Renderer <STRONG>)来设置。</STRONG></P>
<P><STRONG>Renderer 可以设置 颜色,符号等。</STRONG></P> <P><STRONG>应该是这样的。</STRONG></P> |
|
3楼#
发布于:2006-08-26 14:31
<P>来一段:</P>
<P> IGeoFeatureLayerPtr ipGeoLayer = ipFLayer;<BR> <BR> IColorPtr color(CLSID_RgbColor);<BR> color->put_RGB(lColor);<BR> ILineSymbolPtr symbol(CLSID_SimpleLineSymbol);<BR> symbol->put_Color(color);</P> <P> ISymbolPtr sym = symbol;<BR> ISimpleRendererPtr simple(CLSID_SimpleRenderer);<BR> simple->putref_Symbol(sym); <BR> IFeatureRendererPtr ipFeatureRenderer = simple;<BR> ipGeoLayer->putref_Renderer(ipFeatureRenderer); </P><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em03.gif" /> |
|
|
4楼#
发布于:2006-08-28 10:32
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
|
|
|