Exemplo n.º 1
0
        public override void OnDraw(GraphicsDisplay disp)
        {
            if (!m_bStart)
            {
                return;
            }

            bool bDrawWFP = false;

            if (bDrawWFP)
            {
                //用WPF绘制
                Rect rect = disp.DT.FromMapWPF(Result);
                disp.DrawingContext.DrawRectangle(null, new System.Windows.Media.Pen(System.Windows.Media.Brushes.Blue, 1), rect);
            }
            else
            {
                //如果用内核绘制
                SimpleFillSymbol f = new SimpleFillSymbol(System.Drawing.Color.Transparent, System.Drawing.Color.Blue, 1);
                Canvas           c = disp.Canvas;
                f.StartDrawing(disp);
                f.Draw(new Envelope(Result));
                f.EndDrawing();
                disp.IncrementCanvasAction();
            }
        }
Exemplo n.º 2
0
        protected override bool BeforeDraw(GraphicsDisplay disp, RawPoint[] geoline, System.Windows.Point[] line)
        {
            Path     p   = new Path(geoline);
            Geometry geo = p.GeodesicBuffer(100000, GeoStar.Core.BufferCapType.eBufferFlatCap, 0.001);

            m_Sym.StartDrawing(disp);
            m_Sym.Draw(geo);
            m_Sym.EndDrawing();
            disp.IncrementCanvasAction();
            return(false);
        }