Kamis, 30 Januari 2014

Jumat, 17 Januari 2014

Pemrograman Citra

Belajar Bahasa Pemrograman

1. Desainlah Form seperti gambar dibawah ini :


2. Kemudian ketikkan listing programnya.
Public Class Form1
    Dim gambar2 As Bitmap

    
    Private Sub btnhijau1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhijau1.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 Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        PictureBox2.Image = PictureBox1.Image
    End Sub

    Private Sub btnhijau2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhijau2.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 btngrayscale_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btngrayscale.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 btnmerah1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmerah1.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 btnmerah2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmerah2.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 btnrotate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnrotate.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 btnbrigness1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbrigness1.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 btnbrigness2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbrigness2.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 btnnegatif_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnegatif.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
End Class

3. Setelah dijalankan programnya