【问题标题】:Filling area of same color in canvas在画布中填充相同颜色的区域
【发布时间】:2014-09-28 04:27:48
【问题描述】:

我正在编写类似于 MS Paint 的应用程序,我已经有了铅笔、形状和线条功能。我正在向 Canvas 添加System.Windows.Shapes.Shape 对象(如矩形、椭圆等),一切正常。现在我想知道如何在 MS Paint 中创建“桶”功能(填充相同颜色的区域),是否可以在我的应用程序中做这样的事情,或者我需要重构它?

【问题讨论】:

  • 您的问题类似于 SO 上的另一篇文章。这是链接:stackoverflow.com/questions/10038378/…
  • @André 它几乎涉及到 gdi 位图,尽管我们可以在那里提取算法。然而,OP 似乎想知道 WPF 中是否有更简单的方法。

标签: c# wpf


【解决方案1】:

我认为根据你的技能和时间,有不同的方法来实现。

如果我愿意,我会通过

链接相同颜色和相同位置的像素

http://en.wikipedia.org/wiki/Connected-component_labeling这个方法。然后给它们上色。

或者这个: http://en.wikipedia.org/wiki/Flood_fill

【讨论】:

  • 你认为将我的画布转换为位图,找到要填充的区域点,然后从这些点创建多边形并将其添加到画布是个好主意吗?
猜你喜欢
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 2021-11-09
  • 1970-01-01
  • 2015-12-27
  • 2012-10-13
相关资源
最近更新 更多