>  기사  >  백엔드 개발  >  C#은 선 그리기 기능을 구현하기 위해 Styline 보조 개발을 운영합니다.

C#은 선 그리기 기능을 구현하기 위해 Styline 보조 개발을 운영합니다.

黄舟
黄舟원래의
2017-10-05 15:30:211843검색

c# 스타일라인 모델을 동작시키기 위해서는 모델을 마우스 왼쪽 버튼으로 클릭하여 좌표를 얻어 선 그리기 작업을 완료하면 됩니다.

1: 마우스 클릭 모델 이벤트


 List<IPosition66> pos = new List<IPosition66>();
        private bool Sgworld_OnLButtonClicked(int Flags, int X, int Y)
        {
           
            var sgworld = new SGWorld66();
            var postioninfo = sgworld.Window.PixelToWorld(X, Y);
            IPosition66 ss = postioninfo.Position;
            ss.X = postioninfo.Position.X;
            ss.Y = postioninfo.Position.Y;
            pos.Add(ss); 
            return false;
        } 

2: 작업 선 그리기


  string tMsg = String.Empty;
            ILinearRing cRing = null;
            IGeometry cPolygonGeometry = null;
            ITerrainPolyline66 cpolyo = null;
            //创建实例
            //MessageBox.Show(String.Format("X:{0}\r\nY:{1}", posl[i].PosX, posl[i].PosX));
            var sgworld = new SGWorld66();
            List<IPosition66> posl = pos;
            int sin = 0;
            sin = posl.Count*3;
            double[] cVerticesArray = new double[sin];
            //获取坐标值
            for (int i = 0; i < posl.Count; i++)
            { 
                cVerticesArray[i*3] = posl[i].X;
                cVerticesArray[i*3+1] = posl[i].Y;
                cVerticesArray[i * 3 + 2] = posl[i].Altitude;
            } 
            {
                cRing = sgworld.Creator.GeometryCreator.CreateLinearRingGeometry(cVerticesArray);
                cPolygonGeometry = sgworld.Creator.GeometryCreator.CreateLinearRingGeometry(cRing);
            } 
            {
                uint nLineColor = 0xFF00FF00; //颜色样式
                AltitudeTypeCode AltitudeType = AltitudeTypeCode.ATC_ON_TERRAIN;
                // D2. Create polygon
                cpolyo = sgworld.Creator.CreatePolyline(cPolygonGeometry, nLineColor, AltitudeType, string.Empty, "Polygon");
                ///注意坐标
                sgworld.Window.PixelToWorld(sgworld.Window.Rect.Left, sgworld.Window.Rect.Top, WorldPointType.WPT_TERRAIN);
            }

위 내용은 C#은 선 그리기 기능을 구현하기 위해 Styline 보조 개발을 운영합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C#의 DBNULL 설명다음 기사:C#의 DBNULL 설명