C# -- GraphicsPath HitTest & PathTypes 



참고 : http://csharphelper.com/blog/2016/03/see-mouse-curve-c/   ---> 코드 출처

        http://devlabo.blogspot.com/2016/04/graphicspoints.html


       https://docs.microsoft.com/ko-kr/dotnet/framework/winforms/advanced/graphics-paths-in-gdi


        https://docs.microsoft.com/ko-kr/dotnet/api/system.drawing.drawing2d.graphicspath.pathtypes?view=netframework-4.7.2


        https://stackoverflow.com/questions/34503334/graphics-path-types-not-in-the-document





** HitTest


  -- GraphicsPath 이용하여, line 이나 곡선의 Hit test 시에는, IsOutlineVisible() 을 사용하면 됨.


   * IsVisible( ) 사용시에는, closed figure 에서는 의도와 다른 결과 발생함.


   ** 주의:  pen 두께를 넓게하면,  중앙선을 제외한 나머지 부분에서는 IsOutlineVisible( ) 에서 인식못함.

           --> 오직, point 끼리 연결한, 중앙선만 인식한다.

           --> 따라서, IsOutlineVisible( ) 에서 사용하는 pen 의 width 를 조절하여, hit test 하자! 




< 실행 결과 >

  -- hittest 성공시에는, 마우스 모양 바뀌게함.






  ---> 노란선 그은 point 만, 프로그램시 지정한 point 이다.








https://docs.microsoft.com/ko-kr/dotnet/api/system.drawing.drawing2d.pathpointtype?view=netframework-4.7.2







< 소스 >

---








Posted by 자유프로그램