Listing program pengolahan citra menggunakan VB Net
Public Class Form1
Dim gambar As Bitmap
Private Sub
OpenCitraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
OpenCitraToolStripMenuItem.Click
OFD.Filter = "BMP|*.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
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.Jpeg)
End If
If SFD.FilterIndex = 2 Then
gambar.Save(SFD.FileName, System.Drawing.Imaging.ImageFormat.Bmp)
End If
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
NegatifToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
NegatifToolStripMenuItem.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
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub
BrigtnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
BrigtnessToolStripMenuItem.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
ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
ToolStripMenuItem2.Click
gambar = New Bitmap(Pic1.Image)
End Sub
Private Sub
KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
KeluarToolStripMenuItem.Click
End
End Sub
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
vM = 0
vH = 0
vB = 0
Else
vM = 255
vH = 255
vB = 255
End If
.SetPixel(Pc, Pb, Color.FromArgb(vM, vH, vB))
Next
Pic2.Image = gambar
Pic2.Refresh()
Next
End With
End Sub
Private Sub
RotateToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
RotateToolStripMenuItem.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
End Class
Citra Biner
Tidak ada komentar:
Posting Komentar