我正在使用C#,我正在以编程方式绘制图片(因为图片可能因我的应用程序中参数的运行时间值而异)。我最终得到非通用封闭轮廓(由直线和曲线组成)。现在我需要填充不同颜色的那些。 任何想法我怎么能做到这一点?着色非通用轮廓
在此先感谢。
我正在使用C#,我正在以编程方式绘制图片(因为图片可能因我的应用程序中参数的运行时间值而异)。我最终得到非通用封闭轮廓(由直线和曲线组成)。现在我需要填充不同颜色的那些。 任何想法我怎么能做到这一点?着色非通用轮廓
在此先感谢。
看看flood fill algorithms。你可能最好是绘制到位图,然后渲染到表单(我假设你使用WinForms)。
如果是Winforms我觉得最好的是FillRegion。或者试试Flood Fill。不幸的是,这并不容易,因为没有原生的Flood填充.net。但有免费的实施方式和从GDI导入它的方法
您可以使用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.
出于好奇,在这种情况下,非泛型意味着什么? – LarsH 2010-12-14 21:56:45
非泛型意义与普通多边形,圆形,省略号一样... – Milena 2011-03-23 10:07:41