2010-12-14 108 views
0

我正在使用C#,我正在以编程方式绘制图片(因为图片可能因我的应用程序中参数的运行时间值而异)。我最终得到非通用封闭轮廓(由直线和曲线组成)。现在我需要填充不同颜色的那些。 任何想法我怎么能做到这一点?着色非通用轮廓

在此先感谢。

+0

出于好奇,在这种情况下,非泛型意味着什么? – LarsH 2010-12-14 21:56:45

+0

非泛型意义与普通多边形,圆形,省略号一样... – Milena 2011-03-23 10:07:41

回答

0

看看flood fill algorithms。你可能最好是绘制到位图,然后渲染到表单(我假设你使用WinForms)。

0

如果是Winforms我觉得最好的是FillRegion。或者试试Flood Fill。不幸的是,这并不容易,因为没有原生的Flood填充.net。但有免费的实施方式和从GDI导入它的方法

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.