Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.56
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.56

Dim point() As Point = {New Point(xl, yl), New Point _

(x2, y2), New Point(x3, y3), New Point(x4, y4)}

graf.DrawPolygon(New Pen(Color.Red, 3), point)

"graf.DrawRectangle(New Pen(Color.Green), xl, yl, e.X - xl,

e.Y - yl)

"graf.DrawEllipse(New Pen(Color.Green, 3), xl, yl, e.X - xl, e.Y - yl) End If End Sub

Private Sub Form3_MouseUp(ByVal sender As Object, ByVal e _ As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp i = False

Dim graf As Graphics = CreateGraphics() graf.Clear(Color.White) End Sub

Теперь рассмотрим пример создания таким же способом других геометрических фигур: прямоугольника и заполненного эллипса.

Dim xl, х2, хЗ, х4 As Single Dim yl, y2, уЗ, у4 As Single Dim i As Boolean

Private Sub Form3_MouseDown(ByVal sender As Object, ByVal e _ As Systern.Windows.Forms.MouseEventArgs) _ Handles MyBase.MouseDown i = True

xl = e.X : yl = e.Y

End Sub

Private Sub Form3_MouseMove(ByVal sender As Object, ByVal e _ As Systern.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove Dim graf As Graphics = CreateGraphics() If i = True Then

ГЛАВА 8 ▼ Рисуем с помощью мыши

"Me.Refresh()

graf.Clear(Color.White)

Dim point () As Point = {New Point (xl, yl), New Point (x2, y2), _ New Point(x3, y3), New Point(x4, y4)}

graf.DrawRectangle(New Pen(Color.Green), xl, yl, e.X - xl, e.Y - yl) "graf.Fil1E11ipse(Brushes.Green, xl, yl, e.X - xl, e.Y - yl) End If End Sub

Private Sub Form3_MouseUp(ByVal sender As Object, ByVal e _ As Systern.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp i = False End Sub

Решить одну и ту же задачу можно различными способами. Предложенные здесь примеры отличаются простотой и потому более понятны. В то же время они имеют серьезные недостатки. Вы уже, наверное, обратили внимание, что эти программы позволяют нарисовать только одно изображение. При попытке создать еще один рисунок, предыдущий уничтожается. Это результат применения метода Clear.

Таким образом, чтобы выполнить множество рисунков подобным способом необходимо создание куда более сложного кода. А еще лучше иметь свой универсальный графический редактор. Но это очень сложная задача и рассматривать ее в самоучителе для начинающих программистов нет смысла. Хотя бы потому, что существует немало и других способов создания графических изображений с помощью Visual Basic .NET К тому же изображения, созданные графическим редактором, надо импортировать в другие программы, а если речь идет о динамической графике, еще и решить вопросы ее управления. Выходит, проще создавать графику в программе, для которой она предназначена. А самое простое решение, как правило, является самым лучшим.


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta