Я хочу заполнить нижнюю левую половину прямоугольника (т.е. треугольника):
с LinearGradient, переходя от цвета к прозрачному:
Заполнение половины прямоугольника:
Я знаю точку (x, y) и размер прямоугольника.
Если я попробую использовать LinearGradientBrush
, для выполнения моего линейного градиента:
brush = new LinearGradientBrush(
MakePoint(0, y), //bottom left corner
MakePoint(x, 0), //upper right corner
MakeColor(255, c), //fully opaque color
MakeColor(0, c)); //fully transparent color
graphics.FillRectangle(brush, MakeRect(0, 0, w, h));
Кисть линейного градиента заполняет весь прямоугольник, что было бы хорошо, если бы она продолжала заливать остальную часть прямоугольника окончательным (прозрачным) цветом; но вместо этого он оборачивается вокруг:
у меня есть мой LinearGradientBrush
, как мне нравится, я просто хочу FillTriangle
или FillPolygon
, а не FillRectangle
. За исключением того, что нет FillTriangle или FillPolygon, только FillRectangle и FillEllipse.
FillRectangle
иFillEllipse
. (msdn.microsoft.com/en-us/ library / ms535958 (v = VS.85) .aspx) Хотя я не использую .NET, это GDI +. Перефразируйте это как ответ, и я приму это. - person Ian Boyd   schedule 19.01.2011