/// <summary>
        /// 判断点是否在矩形框内
        /// </summary>
        /// <param name="pt"></param>
        /// <param name="rect"></param>
        /// <returns></returns>
        public static bool PtInRect(Point pt, RectangleF rect)
        {
            GraphicsPath path = new GraphicsPath();
            Region region = new Region();
            path.Reset();
            //构建多边形
            path.AddRectangle(rect);
            region.MakeEmpty();
            region.Union(path);
            //判断点是否在多边形里
            bool rlt = region.IsVisible(pt);
            region.Dispose();
            path.Dispose();
            return rlt;
        }
        /// <summary>
        /// 判断点是否在多边形内
        /// </summary>
        /// <param name="pt"></param>
        /// <param name="pts"></param>
        /// <returns></returns>
        public static bool PtInPolygon(Point pt, Point[] pts)
        {
            GraphicsPath path = new GraphicsPath();
            Region region = new Region();
            path.Reset();
            //构建多边形
            path.AddPolygon(pts);
            region.MakeEmpty();
            region.Union(path);
            //判断点是否在多边形里
            bool rlt = region.IsVisible(pt);
            region.Dispose();
            path.Dispose();
            return rlt;
        }

 

相关文章:

  • 2021-10-30
  • 2022-02-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
相关资源
相似解决方案