Rabu, 08 Januari 2014

PEMOGRAMAN CITRA

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.......!!!!