я хочу, чтобы заполнить нижнюю левую половину аа прямоугольника (т.е. треугольника):GDI +: Как заполнить треугольник?
с LinearGradient, переходя от цвета к прозрачному:
Заполнение половины прямоугольника:
я знаю точку (х, у), и размер прямоугольника.
Если я попробовать использовать 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.
Какую версию .NET вы используете? Я определенно вижу метод FillPolygon в графическом объекте. http://msdn.microsoft.com/en-us/library/89sks199.aspx –
Что, что вы знаете, есть * один. Я поклялся, что могу найти только «FillRectangle» и «FillEllipse». (http://msdn.microsoft.com/en-us/library/ms535958(v=VS.85).aspx) Хотя, я не использую .NET, это GDI +. Перефразируйте это как ответ, и я его приму. –
+1 У меня был тот же вопрос, я нашел это в Google. Так что +1, мы, дебилы, должны держаться вместе! – MarkJ