1. 程式人生 > 實用技巧 >判斷點是否在矩形框、多邊形內

判斷點是否在矩形框、多邊形內

採用下面兩個方法可以簡單判斷矩形框、多邊形是否包含某個點。

     /// <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; }