Halo sobat, kali ini saya akan berbagi tutorial programming, cara menampilkan gambar dari webcam ke dalam picturebox di bahasa pemrogramman vb.net dan c#. Code ini saya ambil sendiri dari proyek yang pernah saya kerjakan.
advertisement
Oke kita langsung saja ke tutorialnya.
- Buat sebuah project visual studio dengan bahasa pemrogramman vb.net atau c#
- Pilih Project Windows Form Application
- Buka halaman nuget package manager dengan cara klik project di bagian menubar dan klik manage nuget packages.
Disini kita akan menginstal library bernama AForge.Video untuk video servicenya dan AForge.Video.DirectShow untuk mendirect data gambar ke pictureboxnya. - Di kotak pencarian silahkan ketik AForge maka akan muncul semua library AForge, tapi disini kita hanya menginstall AForge.Video dan AForge.Video.DirectShow saja.
Selanjutnya kita coba membuat aplikasi sederhana untuk menampilkan hasil camera webcame di picturebox
- Buka Form yang sudah dibuat kemudian drag drop PictureBox ke Form kalian.
- Kemudian masuk ke view code dengan menekan F7. Dan didalam class Form tadi silahkan kalian tulis code berikut.
Pemrograman VB.Net
Imports AForge.Video Imports AForge.Video.DirectShow Public Class Form1 Dim bitMap As Bitmap Dim camera As New VideoCaptureDeviceForm Sub startCamera() Try If camera.ShowDialog() = Windows.Forms.DialogResult.OK Then AddHandler camera.VideoDevice.NewFrame, New NewFrameEventHandler(AddressOf Captured) If camera.VideoDevice.IsRunning Then camera.VideoDevice.Stop() End If camera.VideoDevice.Start() End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub Captured(sender As Object, eventArgs As NewFrameEventArgs) Try bitMap = DirectCast(eventArgs.Frame.Clone(), Bitmap) PictureBox1.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load startCamera() End Sub End Class
Penjelasan
Disini kita memanfaatkan event Form_load untuk memanggil fungsi startCamera nya. Kemudian untuk menghandle setiap Frame data yang di terima, kita membuat methode Captured untuk meng handlenya dam memasukankan datanya ke dalam Picturebox. Ditunjukan pada codeAddHandler camera.VideoDevice.NewFrame, New NewFrameEventHandler(AddressOf Captured)
Pemrograman C#
using AForge.Video; using AForge.Video.DirectShow; using System.Drawing; using System.Windows.Forms; namespace WebCame2Picturebox { public partial class Form1 : Form { Bitmap bitMap; VideoCaptureDeviceForm camera = new VideoCaptureDeviceForm(); public Form1() { InitializeComponent(); startCamera(); } private void startCamera() { try { if (camera.ShowDialog() == System.Windows.Forms.DialogResult.OK) { camera.VideoDevice.NewFrame += Captured; if (camera.VideoDevice.IsRunning) { camera.VideoDevice.Stop(); } camera.VideoDevice.Start(); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } private void Captured(object sender, NewFrameEventArgs eventArgs) { bitMap = (Bitmap)eventArgs.Frame.Clone(); pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone(); } } }
Penjelasan
Sama halnya pada versi vbnet, kita memiliki methode yang sama di versi c# hanya saja, untuk memanggil fungsi startCamera kita memanfaatkan Contructor dari class Formnya dibawah fungsiInitializeComponent();
startCamera();
Terimakasih sudah mampir di artikel cara menampilkan gambar webcame ke picturebox. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good luck!
advertisement
Silahkan berkomentar dengan baik dan bijak!