Rabu, 11 Juli 2012

Capture Camera WebCam dengan VB.NET (Pemrograman Visual Basic .NET)

Setelah berhasil membuat program untuk menampilkan (Preview) Camera WebCam, sekarang kita belajar bagaimana cara Snapshot Camera atau Memfoto / Capture Gambar dari WebCam. Program ini adalah pengembangan dari program sebelumnya pada Artikel Menampilkan Web Camera dengan VB.NET

Pertama buka Visual Studio 2008, kemudian Buka Project sebelumnya dari Artikel tersebut yang dapat didownload pada link berikut ini, kemudian tambahkan 2 Buah Button, Button1 "Capture" dan Button2 "Simpan" serta OpenFileDialog1 sehingga tampak sebagai berikut :


Klik dua kali Button1 "Capture", tambahkan kode program berikut :



    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim data As IDataObject
        Dim bmap As Image

        SendMessage(hWnd, WM_CAP_EDIT_COPY, 0, 0)

        data = Clipboard.GetDataObject()
        If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
            bmap = _
               CType(data.GetData(GetType(System.Drawing.Bitmap)),  _
               Image)
            PictureBox1.Image = bmap
            SendMessage(hWnd, WM_CAP_DRIVER_DISCONNECT, VideoSource, 0)
            DestroyWindow(hWnd)
            MsgBox("Sukses")
        End If
    End Sub



Klik dua kali Button2 "Simpan", tambahkan kode program berikut :


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PictureBox1.Image.Save(SaveFileDialog1.FileName)
        End If
    End Sub


Hasilnya, ketika Camera ditampilkan kemudian diklik tombol Capture maka gambar akan terfoto snapshot dan berhenti.


Kemudian gambar tersebut dapat disimpan sebagai file dengan mengklik tombol Simpan dan memilih lokasi serta nama file :


File project selengkapnya dapat didownload di sini, setelah masuk Google Docs kemudian klik File-Download.

Semoga bisa berguna.