Kali ini saya mau posting tugas dulu neh mengenai Pemograman Citra.
Langsung aja yah, tak perlu lama-lama.
hehee....
1. Desain Formnya seperti ini neh:
2. Kemudian ini dia listing programnya, timggal ketik aja yah :
Public Class Form1
Dim gambar2 As Bitmap
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox2.Image = PictureBox1.Image
End Sub
Private Sub Grayscale_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grayscale.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = gambar2.GetPixel(Pc, Pb).R
vH = gambar2.GetPixel(Pc, Pb).G
vB = gambar2.GetPixel(Pc, Pb).B
Rt = (vM + vH + vB) / 3
gambar2.SetPixel(Pc, Pb, Color.FromArgb(Rt, Rt, Rt))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub minMerah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles minMerah.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = gambar2.GetPixel(Pc, Pb).R - 10
vH = gambar2.GetPixel(Pc, Pb).G
vB = gambar2.GetPixel(Pc, Pb).B
If vM <= 0 Then vM = 0
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub plusMerah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plusMerah.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = gambar2.GetPixel(Pc, Pb).R + 10
vH = gambar2.GetPixel(Pc, Pb).G
vB = gambar2.GetPixel(Pc, Pb).B
If vM >= 255 Then vM = 255
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub plusBrigness_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plusBrigness.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = gambar2.GetPixel(Pc, Pb).R + 5
vH = gambar2.GetPixel(Pc, Pb).G + 5
vB = gambar2.GetPixel(Pc, Pb).B + 5
If vM >= 255 Then vM = 255
If vB >= 255 Then vB = 255
If vH >= 255 Then vH = 255
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub minBrigness_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles minBrigness.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = gambar2.GetPixel(Pc, Pb).R - 5
vH = gambar2.GetPixel(Pc, Pb).G - 5
vB = gambar2.GetPixel(Pc, Pb).B - 5
If vM <= 0 Then vM = 0
If vB <= 0 Then vB = 0
If vH <= 0 Then vH = 0
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub Negatif_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Negatif.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = 255 - gambar2.GetPixel(Pc, Pb).R - 5
vH = 255 - gambar2.GetPixel(Pc, Pb).G - 5
vB = 255 - gambar2.GetPixel(Pc, Pb).B - 5
If vM <= 0 Then vM = 0
If vB <= 0 Then vB = 0
If vH <= 0 Then vH = 0
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub minHijau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles minHijau.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = gambar2.GetPixel(Pc, Pb).R
vH = gambar2.GetPixel(Pc, Pb).G - 10
vB = gambar2.GetPixel(Pc, Pb).B
If vH <= 0 Then vH = 0
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub plusHijau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plusHijau.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox2.Image)
For Pb = 0 To gambar2.Height - 1
For Pc = 0 To gambar2.Width - 1
vM = gambar2.GetPixel(Pc, Pb).R
vH = gambar2.GetPixel(Pc, Pb).G + 10
vB = gambar2.GetPixel(Pc, Pb).B
If vH >= 255 Then vH = 255
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar2
PictureBox2.Refresh()
Next
End Sub
Private Sub Rotate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rotate.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
gambar2 = New Bitmap(PictureBox1.Image)
Dim gambar3 As Bitmap = New Bitmap(PictureBox1.Image)
For Pb = gambar2.Height - 1 To 0 Step -1
For Pc = gambar2.Width - 1 To 0 Step -1
vM = gambar2.GetPixel(Pc, Pb).R
vH = gambar2.GetPixel(Pc, Pb).G
vB = gambar2.GetPixel(Pc, Pb).B
gambar3.SetPixel(gambar2.Width - 1 - Pc, gambar2.Height - 1 - Pb, Color.FromArgb(vM, vH, vB))
Next
PictureBox2.Image = gambar3
PictureBox2.Refresh()
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEXIT.Click
End
End Sub
End Class
3. Nah,, Sekarang timggal tekan F5 dan disini saya pilih Negatif setelah programnya Running. Dan hasilnya seperti ini neh:
Sekian dulu postingan saya ini, semoga bermanfaat buat semuanya..
Trimakasih.......!!!!