阅读:1415回复:0
求高手帮忙,虚线变直线了,谢谢!急!谢谢!
<DIV>以下是我写的线图层专题图制作的两段代码。当我设置虚线的宽度超过1.2时,虚线就看不出来了,变成一条直线了,请问是什么原因啊?能给出个解决方法吗?谢谢了!<BR><BR>线预览程序段<BR>Private Sub RefSymbol()<BR>Dim pLineSym As ISimpleLineSymbol<BR> With pParaSym<BR> pLineSym = New SimpleLineSymbol<BR> pLineSym.Color = mdlColor.LongToRGB(.Color)<BR><BR> pLineSym.Width = 2 ‘当线的宽度为2时,虚线就看不出来了<BR> pLineSym.Style = 1 ’虚线,正常应该是 这样的 "- - - - - - - - " ,宽度超过1.2后就边成直线了<BR><BR> End With<BR> Dim pElement As IElement<BR> Dim pLineEle As ILineElement<BR> pLineEle = New LineElement<BR> pLineEle.Symbol = pLineSym<BR> pElement = pLineEle<BR> pElement.Geometry = pLine<BR> Dim pGraphicsContainer As IGraphicsContainer<BR> pGraphicsContainer = pActiveView.GraphicsContainer<BR> pGraphicsContainer.DeleteAllElements()<BR> pGraphicsContainer.AddElement(pElement, 0)<BR> pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, Nothing, Nothing)<BR>End Sub<BR><BR>图层渲染程序段<BR> Public Sub SimplePolylineRender(ByVal pLayer As ILayer)<BR> Dim pFeatlyr As IFeatureLayer<BR> pFeatlyr = pLayer<BR> Dim pGeoFeatureLayer As IGeoFeatureLayer<BR> pGeoFeatureLayer = pFeatlyr<BR> Dim pFeatCls As IFeatureClass<BR> pFeatCls = pFeatlyr.FeatureClass<BR> If pFeatCls Is Nothing Then Exit Sub<BR> If Not (pFeatCls.ShapeType = esriGeometryType.esriGeometryLine Or _<BR> pFeatCls.ShapeType = esriGeometryType.esriGeometryPath Or _<BR> pFeatCls.ShapeType = esriGeometryType.esriGeometryBezier3Curve Or _<BR> pFeatCls.ShapeType = esriGeometryType.esriGeometryCircularArc Or _<BR> pFeatCls.ShapeType = esriGeometryType.esriGeometryEllipticArc Or _<BR> pFeatCls.ShapeType = esriGeometryType.esriGeometryPath Or _<BR> pFeatCls.ShapeType = esriGeometryType.esriGeometryPolyline) Then Return<BR> Dim pLineSymbol As ISimpleLineSymbol<BR> pLineSymbol = New SimpleLineSymbol<BR> Dim pColor As IRgbColor<BR> pColor = New RgbColor<BR> pColor.RGB = 255<BR> pLineSymbol = New SimpleLineSymbol<BR> pLineSymbol.Color = pColor<BR><BR> pLineSymbol.Width = 2 ‘ 这遇到是同样问题<BR> pLineSymbol.Style = 1<BR><BR> Dim pSimpleRenderer As ISimpleRenderer<BR> pSimpleRenderer = New SimpleRenderer<BR> pSimpleRenderer.Symbol = pLineSymbol<BR> pGeoFeatureLayer.Renderer = pSimpleRenderer<BR> End Sub</DIV><img src="images/post/smile/dvbbs/em02.gif" />
|
|