示例#1
0
        public override void OnMouseDown(int x, int y, System.Windows.Forms.MouseEventArgs e)
        {
            RgPoint P1 = mScreenDisplay.DisplayTransformation.ToUnit(new System.Drawing.PointF(x, y));

            Carto.FetureLayer featurelyr = mMapCtrl.Map.CurrentLayer as Carto.FetureLayer;
            if (featurelyr != null && featurelyr.ShapeType == RgEnumShapeType.RgPoint)
            {
                featurelyr.mGeometries.Add(P1);
            }
            mMapCtrl.Refresh();
        }
示例#2
0
        public PointF ToScreen(RgPoint pt)
        {
            PointF transformedPoint = new PointF((float)pt.X, (float)pt.Y);

            transformedPoint.Y  = ScreenHeight() - transformedPoint.Y; //将Unit坐标系转换为屏幕坐标系,Y轴反向,此时Y坐标为屏幕坐标系坐标
            transformedPoint.Y *= m_screenResolution * Zoom;           //相对于屏幕原点放大
            transformedPoint.X *= m_screenResolution * Zoom;

            transformedPoint.X += m_panOffset.X + m_dragOffset.X;
            transformedPoint.Y += m_panOffset.Y + m_dragOffset.Y;
            return(transformedPoint);
        }