Tips kali ini kita akan membuat Grafik menggunakan Form Events Paint dengan menggunakan Visual Basic 2008.Hasilnya seperti gambar di bawah ini:
Ikuti langkah-langkah di bawah ini. Sekarang perhatikan tabel ToolBox yang akan digunakan antaralain:
Rancang/design seperti gambar dibawah ini, lalu Save All dengan nama FormPaint.
Setelah itu arahkan kursor Anda pada jendela Solution Explorer , Klik kanan Pada FormPaint kemudian Anda pilih Add kemudian pilih Class. Perhatikan gambar di bawah ini.
Setelah itu akan muncul jendela seperti Add New Item. Ganti nama Class1.vb menjadi ThreadGraph. Tekan Add. Perhatikan gambar di bawah ini:
Pada jendela arahkan kursor Anda ke Solution Explorer pada ThreadGraph.vb klik kanan pilih View Code . Ketikkan listing program sebagai berikut:
Public Class CustomChart
Public Shared Sub Main()
Application.Run(New Form1)
End Sub
End Class
Arahkan kursor Anda pada Design Form1, Klik kanan pilih View Code. Ketikkan listing program sebagai berikut:
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
Public Class Form1
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Dim canvas As Graphics = e.Graphics
REM nilai data yang akan di plot
Dim chartData() As Single = _
{20, 33, 44, 25, 17, 24, 63, 75, 54, 33}
REM untuk properties warna pada label dan garis
Dim penRed As New Pen(Color.Black, -1)
Dim penBlack As New Pen(Color.Black, -1)
Dim penShadow As New Pen(Color.Gray, -1)
REM properties untuk Label
Dim labelFont As New Font("Arial", 3, FontStyle.Regular)
Dim labelBrush As New SolidBrush(Color.Blue)
REM memplot bagian pada grafik
Dim x1, y1 As Single REM bawah dan bagian sisi kiri
Dim x2, y2 As Single REM atas dan bagian sisi kanan
Dim scaleX, scaleY As Single
Dim xScan, yScan As Single
Dim oneBar As RectangleF
REM penskalaan
x1 = -10
y1 = -10
x2 = 110
y2 = 110
scaleX = Me.ClientSize.Width / (x2 - x1)
scaleY = Me.ClientSize.Height / (y2 - y1)
canvas.ScaleTransform(scaleX, -scaleY)
canvas.TranslateTransform(-x1, -y2)
REM color background pada Form
canvas.Clear(Color.Aquamarine)
REM gambar garis outline pada grafik
canvas.DrawRectangle(penBlack, New Rectangle(0, 0, 100, 100))
REM menggambarkab grid
For xScan = 10 To 90 Step 10
canvas.DrawLine(penBlack, xScan, 0, xScan, 100)
Next xScan
For yScan = 10 To 90 Step 10
canvas.DrawLine(penBlack, 0, yScan, 100, yScan)
Next yScan
REM menggambarkan bayangan pada tiap bar
For xScan = 0 To 90 Step 10
REM membuat bayangan
oneBar.X = xScan + 0.6
oneBar.Y = 0
oneBar.Width = 6
oneBar.Height = chartData(xScan \ 10) - 2
canvas.FillRectangle(New SolidBrush(Color.FromArgb(127, _
Color.Gray)), oneBar)
REM sekarang menggambarkan Bar
oneBar.X = xScan + 2
oneBar.Y = 0
oneBar.Height = chartData(xScan \ 10)
canvas.FillRectangle(New SolidBrush(Color.Gold), oneBar)
Next xScan
REM penskalaan/ memposisikan Label
REM memposisikan sampai kesebelah kanan
canvas.ResetTransform()
canvas.ScaleTransform(scaleX, scaleY)
canvas.TranslateTransform(-x1, -y1)
REM Label pada Y axis.
For yScan = 0 To 100 Step 10
canvas.DrawString(yScan.ToString, labelFont, labelBrush, _
-2 * yScan.ToString.Length - 3, 97 - yScan)
Next yScan
REM Label pada X axis
For xScan = 0 To 100 Step 10
canvas.DrawString(xScan.ToString, labelFont, labelBrush, _
xScan + 1.7 - 2 * xScan.ToString.Length, 103)
Next xScan
labelFont.Dispose()
labelBrush.Dispose()
penRed.Dispose()
penBlack.Dispose()
penShadow.Dispose()
canvas = Nothing
End Sub
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
REM refresh sesuai dengan ukuran
Me.Refresh()
End Sub
End Class
Setelah itu tekan F5, maka akan muncul tampilan seperti gambar berikut ini.
Selamat mencoba Guys! Nantikan Tips Aplikasi Cantik Lainnya by Verynandus Hutabalian.
0 komentar:
Posting Komentar