TUGAS PROGRAM VISUAL MANIPULASI
CITRA
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
PB1.Image =
Image.FromFile(OFD.FileName)
gambar = New
Bitmap(PB1.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
PB2.Image = gambar
PB2.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
PB2.Image = gambar
PB2.Refresh()
Next
End With
End Sub
Private Sub
BrigthnessToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
BrigthnessToolStripMenuItem.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
PB2.Image = gambar
PB2.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(PB1.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
PB2.Image = gambar
PB2.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(PB1.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
PB1.Image = gambar3
PB1.Refresh()
Next
End With
gambar = gambar3
End Sub
End Class
HASIL GRAYSCALE HASIL
NEGATIF


HASIL BRIGTHNESS HASIL
BINER


HASIL ROTATE

Tidak ada komentar:
Posting Komentar