我正在使用C#并且我正在以编程方式绘制图片(因为图片可能会根据我的应用程序中的参数的运行时值而有所不同)。我最终得到了非通用的闭合轮廓(由直线和曲线组成)。现在我需要填充不同颜色的那些。 知道我怎么能做到这一点?
提前致谢。
答案 0 :(得分:0)
看看flood fill algorithms。你最好不要绘制到位图,然后渲染到表单(我假设你使用的是WinForms)。
答案 1 :(得分:0)
如果是Winforms,我认为最好的是FillRegion。或者尝试Flood Fill。不幸的是,这并不容易,因为.net中没有填充本机Flood。但是有免费的实现和从GDI导入它的方法
答案 2 :(得分:0)
您可以使用PathGradientBrush
。 Here's an code example
Public NotInheritable Class PathGradientBrush
Inherits System.Drawing.Brush
Member of System.Drawing.Drawing2D
Summary:
Encapsulates a System.Drawing.Brush object that fills the interior of a System.Drawing.Drawing2D.GraphicsPath object with a gradient. This class cannot be inherited.