45
Gambar 3.22 Koordinat Display GDI+
Gambar 3.23 Menggambar Garis dari titik 0,0 sampai 120,80
3.3.3 Menggambar Garis Pada Form
Penggambaran Grafik form dapat dilakukan melalui Objek Grafik yang dapat dideklarasikan sebagai berikut:
Dim MyGraphics As System.Drawing.Graphics = Me.CreateGraphics
Objek Grafik menyediakan berbagai metode untuk menggambar seperti
DrawLine, DrawRectangle, dll
Dalam penggambaran, membutuhkan Objek Pen penyedia atribut Warna dan Ketebalan garis dalam ukuran pixel.
Objek Pen dapat dideklarasikan sebagai berikut:
Dim Pen As New System.Drawing.PenWarna,Tebal
Universitas Sumatera Utara
46
Warna adalah warna yang diinginkan, dan tebal adalah tebal pen dalam ukuran point.
Contoh program GDI+ yang pertama:
Option Explicit On Imports
System Imports
System.Windows.Forms Imports
Microsoft.VisualBasic Public
Class MyForm :
Inherits FormSystem.STAThread
_ Public Shared Sub
Main Application.Run
New MyForm
End Sub Public Sub New
Constructor Me
.Text = Mengambar garis pada Form End Sub
Private Sub MyForm_ClickSender
As Object , e
As System.EventArgs
Handles MyBase .Click
Dim MyPen
As New System.Drawing.PenSystem.Drawing.Color.Red,3
Dim MyGraphic
As System.Drawing.Graphics
= Me
.CreateGraphics MyGraphic.DrawLineMyPen,10,10,200,100
End Sub End
Class
Kemudian simpan program di atas dengan mana grafik.vb a Proses Kompilasi
Proses kompilasi dengan menggunakan perintah:
Vbcgrafik.vbr:System.dllr:System.Windows.For ms.dllr:System.Drawing.dll
Universitas Sumatera Utara
47
Ketika dijalankan, dan klik pada form akan menghasilkan tampilan:
Gambar 3.24 Garis Pada Form
Catatan:
Mengenai pemrogram form pada VB.NET dapat dibaca di
ebook
pemrogram form pada VB.NET Salah satu kelemahan dari cara di atas adalah, kalau form
mengalami refresh, garis yang telah digambarkan tersebut akan hilang VB.NET tidak menyediakan property AutoRedraw
seperti yang terdapat pada VB6
Untuk membuktikannya minimize dan maximize kembali form diatas, garis tersebut akan hilang.
b Melakukan Overriding Te rhadap Metoda Onpaint
OnPaint Event Handle adalah event yang dibangkitkan setiap kali form mengalami refresh pada saat
minimize
,
maximize
maupun ditimpa oleh form lain. Jika dilakukan overriding terhadap Event ini dan menempatkan perintah penggambaran
garis di dalamnya ini, maka garis tersebut digambar setiap proses refresh.
Universitas Sumatera Utara
48
Parameter PaintEventArgs pada Sub OnPaint merupakan objek Grafik.
Contoh:
Option Explicit
On Imports
System Imports
System.Windows.Forms Imports
Microsoft.VisualBasic Public
Class MyForm
Inherits Form
System.STAThread _ Public Shared Sub
Main Application.Run
New MyForm
End Sub Public
Sub New
Constructor Me
.Text = Membuat garis pada Form dengan OnPaint
End Sub Protected Overrides Sub
OnPaint ByVal
e As
PaintEventArgs Dim
MyPen As
New System.Drawing.PenSystem.Drawing.Color.Red,3
MyBase .OnPainte
e.Graphics.DrawLineMyPen,10,10,200,100 End Sub
End Class
Kalau program di atas dijalankan, akan menampilkan garis pada form dan tetap akan ada walaupun form direfresh.
Catatan:
Pada contoh diatas melakukan overriding terhadap metoda OnPaint yang ada pada Base class dengan Metoda baru yang
dibuat di dalamnya mengambarkan garis, sehingga setiap kejadian OnPaint akan menjalankan Event baru tersebut.
Kemudian dalam koding ditulis MyBase.OnPainte, artinya menjalan kembali event OnPaint pada Base class yang telah
overriding.
Universitas Sumatera Utara
49
3.3.4 Menggambar Grafik Vektor 2 Dimensi