Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_1-2.docx
Скачиваний:
3
Добавлен:
06.11.2018
Размер:
757.66 Кб
Скачать

Ламана лінія

Ламану лінію можна створити за допомогою одного з двох методів DrawLines. Першим параметром кожного із цих методів є перо, що створює лінію, а другим — масив точок, що задає її вершини.

Малювання ламаної лінії

Public Class Form1

Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim ps() As Point = {New Point(10, 10), New Point(110, 110), New Point(10, 110), New Point(110, 10)}

e.Graphics.DrawLines(New Pen(Color.Red, 4), ps)

End Sub

End Class

Прямокутник

Метод DrawRectangle класу Graphics дозволяє створювати прямокутники.

У цьому методі є або два, або п'ять параметрів: перо, що його створює, а також або екземпляр структури Rectangle, або чотири числа, параметри, що описують його координати верхнього лівого кута, ширину і висоту.

Заповнений прямокутник малюється методом FillRectangle, у якому, на відміну від методу DrawRectangle, замість пера задається кисть.

У наступному коді створюється прямокутник заповнений градієнтною заливкою.

Прямокутник

Public Class Form1

Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim g As Graphics = e.Graphics

Dim rect As New Rectangle(270, 10, 100, 210)

Dim lbr As New Drawing2D.LinearGradientBrush(rect, Color.Red, Color.Yellow, Drawing2D.LinearGradientMode.BackwardDiagonal)

g.FillRectangle(lbr, rect)

End Sub

End Class

Прямокутники

Використовуючи метод Drawrectangles можна створити декілька багатокутників. Параметрами цього методу є перо і масив прямокутників.

Dim pen As New Pen(Color.Black, 3)

Нижче приведений спосіб побудови трьох прямокутників. У цьому коді створюється масив з трьох екземплярів Rectangle а потім всі три прямокутники будуються одночасно методом Draw Rectangle.

Dim rect As Rectangle() = {New Rectangle(10, 10, 150, 150),

New Rectangle(30, 30, 110, 110), New Rectangle(50, 50, 70, 70)}

e.Graphics.DrawRectangles(pen, rect)

Еліпс

Еліпс, або круг, створюється методами DrawEllipse, параметрами яких є екземпляр класу Pen, що малює контур, а також прямокутник, в який еліпс вписаний. Прямокутник може бути заданий як екземпляр класу Rectangle або RECTANGLEF, або за допомогою вказівки координати його верхнього лівого кута (х, у), а також ширини width і висоти height.

Заповнений еліпс малюється методами FillEllipse, у яких, на відміну від методу DrawEllipse, замість пера задається кисть.

Еліпси

Public Class Form1

Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim g As Graphics = e.Graphics

Dim pn As New Pen(Color.Blue, 2)

Dim i As Integer

For i = 0 To 10

g.DrawEllipse(pn, 10 + 5 * i, 10, 200 - 10 * i, 200)

Next

Dim rect As New Rectangle(70, 70, 80, 80)

Dim br As New SolidBrush(Color.Red)

g.FillEllipse(br, rect)

End Sub

End Class

Дуга і сектор

Дуга створюється методами DrawArc, параметрами яких є екземпляр класу Pen, що малює контур, а також прямокутник (частиною якого є дуга), в який еліпс вписаний. Прямокутник може бути заданий як екземпляр класу Rectangle або RECTANGLEF або за допомогою вказівки координати його верхнього лівого кута (х, у), а також ширини width і висоти height. Дуга ж еліпса визначається її кутовим розміром sweepAngie і початковим кутом startAngie, який відлічується за годинниковою стрілкою від осі абсцис.

Приклад дуг і секторів

Public Class Form1

Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim g As Graphics = e.Graphics

Dim pn As New Pen(Color.Blue, 2)

Dim i As Integer

For i = 0 To 10

g.DrawArc(pn, 10 + 5 * i, 10, 200 - 10 * i, 200, 0, 135)

Next

Dim hb As New Drawing2D.HatchBrush(Drawing2D.HatchStyle.LargeConfetti, Color.Cornsilk)

For i = 0 To 359 Step 120

g.FillPie(hb, 10, 10, 110, 110, i, 60)

Next

End Sub

End Class

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]