Aplikasi Pengolahan Citra pada VB.NET
langkah pertama , buat Desainnya dulu seperti ini :
Untuk Listing Programnya silakan masukkan seperti ini :
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
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 OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.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 SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.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 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 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
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 ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
End
End Sub
Tampilan BINER :
Tampilan Brightness :
Tampilan Brightness 180 derajat
TampilanGrayscale :
Tampilanke warna Hijau:
Tampilan Warna Merah :
Tampilan ke warna:Negatif
TampilanNegatif dgn Rotasi 180 derajat
Tampilandengan Rotasi 90 derajat
Tampilan dengan rotasi 270 derajat
Tampilan DEngan Rotasi 180 derajat
Tampilan Rotasi Kiri (Left)
Tampilan Rotasi Kanan (Right)
Tidak ada komentar:
Posting Komentar