Какие методы GDI можно использовать для рисования синей формы, показанной на изображении ниже? Центр должен быть прозрачным.C# GDI Drawing2D help
1
A
ответ
1
Есть несколько способов, но вы, вероятно, захотите использовать следующие:
FillRectangle
FillPolygon
DrawLine
, поскольку он выглядит как ваша форма может быть уменьшена до прямоугольника и два полигона, а затем изложено несколько строк ,
Вот очень простой и жестко закодированы пример того, что я имел в виду:
Private Sub Control_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) _
Handles MyBase.Paint
Dim g As Graphics = e.Graphics
g.FillRectangle(Brushes.Aqua, New Rectangle(10, 10, 10, 90))
g.FillPolygon(Brushes.Aqua, New Point() { _
New Point(10, 10), _
New Point(20, 10), _
New Point(40, 50), _
New Point(30, 50)})
g.FillPolygon(Brushes.Aqua, New Point() { _
New Point(10, 100), _
New Point(20, 100), _
New Point(40, 50), _
New Point(30, 50)})
g.DrawLine(Pens.Black, New Point(10, 10), New Point(10, 100))
g.DrawLine(Pens.Black, New Point(10, 100), New Point(20, 100))
g.DrawLine(Pens.Black, New Point(20, 100), New Point(40, 50))
g.DrawLine(Pens.Black, New Point(40, 50), New Point(20, 10))
g.DrawLine(Pens.Black, New Point(20, 10), New Point(10, 10))
...
1
Im предполагая GDI + здесь ака System.Drawing пространство имен.
Самое лучшее, что нужно сделать, это посмотреть на класс System.Drawing.Drawing2d.GraphicsPath:
http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.graphicspath.aspx
Вы должны убедиться, что вы закроете путь, чтобы получить полую эффект.
-1
Не было бы просто быть проще сделать это с помощью растрового изображения? Во всяком случае, это все равно :).
Смежные вопросы
- 1. Visual C++ logic help help
- 2. C# help help (TExtractor callid)
- 3. Правильный Drawing2D класс для NET CF?
- 4. C#: GDI + Image кадрирование
- 5. GDI + С C++ Builder?
- 6. C# winforms GDI +
- 7. asp.net приложения C# GDI
- 8. C++ GDI массив изображений
- 9. C# GDI Змея игры
- 10. C# GDI + проблема рендеринга
- 11. GDI + GdipCreateBitmapFromHBITMAP в C++
- 12. C++ Управление памятью GDI
- 13. GDI Transparent Background C#
- 14. Изображение GDI + Ошибка C#
- 15. C# GDI Поворот Снаряд
- 16. C/C++ Registry Help
- 17. Комбинировать растровые изображения - GDI/GDI +?
- 18. Смешивание GDI + с GDI
- 19. C++ Windows32 GDI Заполните треугольник
- 20. Как отлаживать GDI + в C#?
- 21. C++ Win32 GDI двойной буферизации
- 22. C++ use custom cursor gdi
- 23. C# внешнее исключение в GDI +
- 24. C# GDI + DrawString() с StringBuilder?
- 25. C++ gdi рисунок эллипс проблема
- 26. C++/WinAPI GDI + двойная буферизация
- 27. GDI + двойная буферизация в C++
- 28. Операторы c и C++ help
- 29. Objective C Terminology Help
- 30. datagridview datetimepicker C# help
Я думаю, что прямоугольник и многоугольник будут работать, я сделаю снимок. – Kevin
@Kevin: добавлен пример кода для рисования, чтобы развернуть то, что я представлял. Обратите внимание, что он жестко закодирован и не мешает обрисовать внутренний треугольник. Сегодня мало времени. ;-) –
Внутренние границы немного сложнее. – Kevin