Окраска неуниверсальных контуров - PullRequest
0 голосов
/ 14 декабря 2010

Я использую C # и рисую картинку программно (поскольку картинка может отличаться в зависимости от значений времени выполнения параметров в моем приложении).Я получаю не общие замкнутые контуры (которые состоят из прямых линий и кривых).Теперь мне нужно заполнить их разными цветами.Есть идеи, как мне это сделать?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 14 декабря 2010

Если это Winforms, я думаю, лучше всего будет FillRegion .Или попробуйте Flood Fill .К сожалению, это не так просто, потому что нет.Но есть бесплатные реализации и способы импортировать его из GDI

0 голосов
/ 14 декабря 2010

Вы можете использовать PathGradientBrush для этого. Вот пример кода

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.
0 голосов
/ 14 декабря 2010

Взгляните на алгоритмы заливки . Возможно, вам лучше рисовать на растровом изображении, а затем на формах (я полагаю, вы используете WinForms).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...