Как заполнить область до ее границ цветом на графическом объекте? - PullRequest
2 голосов
/ 03 февраля 2009

Я играю и пытаюсь сделать книжку-раскраску для своих детей, и у меня есть много черно-белых рисунков, которые я использую в качестве фона, чтобы они могли рисовать на них.

Теперь я хочу добавить функцию FILL, чтобы они могли указывать и щелкать где-то, где находится белый цвет на чертеже, а затем позволяли функции заполнить весь регион в пределах своих границ цветом.

Было бы неплохо иметь функцию, которая посылает X, Y и цвет, определенный для границы, и получает область из нее. Затем нужно сделать e.Graphics.FillRegion (кисть, область), чтобы залить его цветом.

Но я не могу найти какую-либо функцию, которая бы позволяла мне это делать, и я считаю, что слишком сложно отследить границы самостоятельно.

Я пропустил какую-то функцию в классе system.drawing, которая делает это, или у вас есть другие идеи?

Любые другие идеи для раскраски-программы также интересны. (Я делаю программу безопасной, чтобы вы могли оставить ребенка перед компьютером, не боясь того, что ребенок получит доступ к каким-либо другим вещам на компьютере, и при выборе цветов будут слышны разные забавные звуки)

Ответы [ 2 ]

1 голос
/ 03 февраля 2009

Если «граница» определяется пикселями разного цвета, а не математической формулой или структурой данных Path, вам придется проверить и заполнить отдельные пиксели. Есть статья о том, как залить заливку в .Net на Code Project .

1 голос
/ 03 февраля 2009

Изучите методы заливки. В Википедии есть много информации на эту тему здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...