Public Class Form1
Dim Gambar As Bitmap
Private Sub BinerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BinerToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim rata, vM, vH, vB As Double
With gambar
For Pb = 0 To .Height - 1
For Pc = 0 To .Width - 1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
rata = (vM + vH + vB) / 3
If (rata < 128) Then
vH = 0
vM = 0
vB = 0
Else
vM = 255
vH = 255
vB = 255
End If
.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic1.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
Gambar = New Bitmap(Pic1.Image)
End Sub
Private Sub NegativeImageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegativeImageToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With Gambar
For Pb = 0 To .Height - 1
For Pc = 0 To .Width - 1
vM = 255 - .GetPixel(Pc, Pb).R
vH = 255 - .GetPixel(Pc, Pb).G
vB = 255 - .GetPixel(Pc, Pb).B
If vM <= 0 Then vM = 0
If vB <= 0 Then vB = 0
If vH <= 0 Then vH = 0
.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic1.Image = Gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub GrayscaleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrayscaleToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
With Gambar
For Pb = 0 To .Height - 1
For Pc = 0 To .Width - 1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
Rt = (vM + vH + vB) / 3
.SetPixel(Pc, Pb, Color.FromArgb(Rt, Rt, Rt))
Next
Pic2.Image = Gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub BrightnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrightnessToolStripMenuItem.Click
Dim Pb, pc As Integer
Dim vM, vH, vB As Double
With Gambar
For Pb = 0 To .Height - 1
For pc = 0 To .Width - 1
vM = .GetPixel(pc, Pb).R + 5
vH = .GetPixel(pc, Pb).G + 5
vB = .GetPixel(pc, Pb).B + 5
If vM > 255 Then vM = 255
If vB > 255 Then vB = 255
If vH > 255 Then vH = 255
.SetPixel(pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = Gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub RotateLeftToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RotateLeftToolStripMenuItem.Click
Dim gambar2 = New Bitmap(Pic2.Image)
gambar2 = New Bitmap(Pic2.Image)
Pic2.Image = gambar2
gambar2.RotateFlip(RotateFlipType.RotateNoneFlipX)
Pic2.Image = gambar2
End Sub
Dim Gambar As Bitmap
Private Sub BinerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BinerToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim rata, vM, vH, vB As Double
With gambar
For Pb = 0 To .Height - 1
For Pc = 0 To .Width - 1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
rata = (vM + vH + vB) / 3
If (rata < 128) Then
vH = 0
vM = 0
vB = 0
Else
vM = 255
vH = 255
vB = 255
End If
.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic1.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
Gambar = New Bitmap(Pic1.Image)
End Sub
Private Sub NegativeImageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NegativeImageToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
With Gambar
For Pb = 0 To .Height - 1
For Pc = 0 To .Width - 1
vM = 255 - .GetPixel(Pc, Pb).R
vH = 255 - .GetPixel(Pc, Pb).G
vB = 255 - .GetPixel(Pc, Pb).B
If vM <= 0 Then vM = 0
If vB <= 0 Then vB = 0
If vH <= 0 Then vH = 0
.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic1.Image = Gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub GrayscaleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrayscaleToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim Rt, vM, vH, vB As Double
With Gambar
For Pb = 0 To .Height - 1
For Pc = 0 To .Width - 1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
Rt = (vM + vH + vB) / 3
.SetPixel(Pc, Pb, Color.FromArgb(Rt, Rt, Rt))
Next
Pic2.Image = Gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub BrightnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrightnessToolStripMenuItem.Click
Dim Pb, pc As Integer
Dim vM, vH, vB As Double
With Gambar
For Pb = 0 To .Height - 1
For pc = 0 To .Width - 1
vM = .GetPixel(pc, Pb).R + 5
vH = .GetPixel(pc, Pb).G + 5
vB = .GetPixel(pc, Pb).B + 5
If vM > 255 Then vM = 255
If vB > 255 Then vB = 255
If vH > 255 Then vH = 255
.SetPixel(pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = Gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub RotateLeftToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RotateLeftToolStripMenuItem.Click
Dim gambar2 = New Bitmap(Pic2.Image)
gambar2 = New Bitmap(Pic2.Image)
Pic2.Image = gambar2
gambar2.RotateFlip(RotateFlipType.RotateNoneFlipX)
Pic2.Image = gambar2
End Sub
Private Sub RotateRightToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RotateRightToolStripMenuItem.Click
Dim gambar2 = New Bitmap(Pic2.Image)
gambar2 = New Bitmap(Pic2.Image)
Pic2.Image = gambar2
gambar2.RotateFlip(RotateFlipType.RotateNoneFlipY)
Pic2.Image = gambar2
End Sub
Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
Dim gambar2 = New Bitmap(Pic2.Image)
gambar2 = New Bitmap(Pic2.Image)
Pic2.Image = gambar2
gambar2.RotateFlip(RotateFlipType.Rotate90FlipX)
Pic2.Image = gambar2
End Sub
Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
Dim gambar3 As Bitmap = New Bitmap(Pic1.Image)
With Gambar
For Pb = .Height - 1 To 0 Step -1
For Pc = .Width - 1 To 0 Step -1
vM = .GetPixel(Pc, Pb).R
vH = .GetPixel(Pc, Pb).G
vB = .GetPixel(Pc, Pb).B
gambar3.SetPixel(.Width - 1 - Pc, .Height - 1 - Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar3
Pic2.Refresh()
Next
End With
Gambar = gambar3
End Sub
Private Sub OpenCitraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenCitraToolStripMenuItem.Click
OFD.Filter = "MBP|*.bmp|JPG|*.Jpg"
OFD.ShowDialog()
If OFD.FileName = "" Then Exit Sub
Pic1.Image = Image.FromFile(OFD.FileName)
Gambar = New Bitmap(Pic1.Image)
End Sub
Private Sub OFD_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OFD.FileOk
End Sub
Private Sub SaveCitraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveCitraToolStripMenuItem.Click
SFD.Filter = "JPG|*.Jpg|BMP|*.bmp"
SFD.ShowDialog()
If SFD.FileName = "" Then Exit Sub
If SFD.FilterIndex = 1 Then
Gambar.Save(SFD.FileName, System.Drawing.Imaging.ImageFormat.Bmp)
End If
End Sub
Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
Dim gambar2 = New Bitmap(Pic2.Image)
gambar2 = New Bitmap(Pic2.Image)
Pic2.Image = gambar2
gambar2.RotateFlip(RotateFlipType.Rotate270FlipX)
Pic2.Image = gambar2
End Sub
Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
End
End Sub
Private Sub HijauToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HijauToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
Dim gambar2 = New Bitmap(Pic2.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
Pic2.Image = gambar2
Pic2.Refresh()
Next
End Sub
Private Sub BiruToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BiruToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
Dim gambar2 = New Bitmap(Pic2.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 + 10
If vB >= 255 Then vB = 255
gambar2.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar2
Pic2.Refresh()
Next
End Sub
Private Sub MerahToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MerahToolStripMenuItem.Click
Dim Pb, Pc As Integer
Dim vM, vH, vB As Double
Dim gambar2 = New Bitmap(Pic2.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
Pic2.Image = gambar2
Pic2.Refresh()
Next
End Sub
End Class
Hasil Biner
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaq6pKfVuKjbuzhvXaMRaePsw3VoyU5qP5_UOkjo-lTBkheX2hIzvGaJIOn1ymPvPyAdyZFjW861IoQiNpHXYd3wxiVP8xPthoKQw-xyyr9z-WROpuhvx-5X09Ow2MJyjgo2T5_LiYeHc/s320/yohanabiner.JPG)
Hasil Brigthness
Hasil Contrass Biru
Hasil Cobtrass Hijau
Hasil Contrass Merah
Hasil rotase 90
Hasil Rotate 180
Hasil Rotate 270
Hasil Negatif
Hasil Rotate Left
Hasil Rotate RightPemrograman Manipulasi Citra