У меня есть форма от руки, нарисованная на PictureBox в форме Windows. Например:
Теперь мне нужно определить, принадлежит ли данная точка фигуре.
Насколько я знаю, мне нужно создать объект Region, а затем вызвать его функцию-член IsVisible(), чтобы узнать ответ. Я знаю, как это сделать с областью, состоящей из прямоугольников, дуг, окружностей и т. д., но моя форма нарисована от руки, и я не знаю, как настроить область от руки.
Кроме того, я прочитал Как создать интерактивную область неправильной формы в С#, который очень полезен, но я не понял сути, потому что я новичок.
Если это повторяющийся вопрос, обратите внимание, чтобы я удалил свой вопрос, хотя я сделал все возможное, чтобы найти решение, но мне не повезло.
П.Н.: Спасибо TaW за его полезный и принятый ответ.
@TaW Большое спасибо за исправления. Я внес эти исправления. Еще раз спасибо :)
возможно, у вас возникла трудность в том, как получить GraphicsPath из изображения, которое уже было нарисовано и теперь является Bitmap (трассировка). Если ваши пользователи рисуют фигуру, записывайте точки по мере того, как они рисуют, тогда нет необходимости выполнять трассировку по растровому изображению.
@dlatikay Спасибо за вашу помощь.





GraphicsPath, который должен делать то, что вам нужно. Забудьте о регионах, которые в основном необходимы для а) операций над наборами или б) отсечения управляющих поверхностей. Также: что такое «Imagebox»? МожетPictureBox? Всегда используйте правильные имена!! ((Кстати, вы также можете создать регион из GraphicsPath, но в этом нет необходимости, поскольку у GP есть функции для определения того, находится ли точка внутри или даже на пути GP))