2014-09-27 5 views
0

im написать приложение, подобное MS Paint, у меня есть карандаш, фигуры и функциональность линии alredy. Я добавляю System.Windows.Shapes.Shape объекты (например, Rectange, Ellipse и т. Д.) В Canvas и все работает нормально. Теперь им интересно, как создать функциональность «bucket», например, в MS Paint (область заполнения одного цвета), возможно ли это сделать в моем приложении, или мне нужно реорганизовать его?Площадь заполнения одного и того же цвета на холсте

+0

Ваш вопрос похож на другой пост на SO. Вот ссылка: http://stackoverflow.com/questions/10038378/how-to-fill-enclosed-area-in-the-bitmap-object-with-a-color –

+0

@ André это почти до gdi bitmap, хотя мы можем извлечь алгоритм. Однако OP, похоже, задается вопросом, есть ли более простой подход в WPF. –

ответ

0

Я думаю, что есть разные способы реализации этого в зависимости от вашего мастерства и времени.

Если я бы это сделать, я бы связать пиксели, которые же цвета и в том же месте на

http://en.wikipedia.org/wiki/Connected-component_labeling этот метод. А потом покрасьте их.

или это: http://en.wikipedia.org/wiki/Flood_fill

+0

Как вы думаете, было бы хорошей идеей преобразовать мой холст в растровое изображение, найти точки области для заполнения, а затем создать многоугольник из этих точек и добавить его в холст? – Poxy

Смежные вопросы