nmgwolf
路人甲
路人甲
  • 注册日期2007-06-01
  • 发帖数15
  • QQ
  • 铜币113枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1415回复:0

求高手帮忙,虚线变直线了,谢谢!急!谢谢!

楼主#
更多 发布于:2007-09-21 16:28
<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" />
喜欢0 评分0
游客

返回顶部