PBKK Pertemuan 2 - Membuat Aplikasi Media Capture

PERTEMUAN 2 PBKK


Nama : Dawamul Fikri Aqil

NRP : 5025201025

Kelas : PBKK B

Tahun : 2023


Tugas : Membuat Aplikasi Media Capture


DOKUMENTASI TUGAS


DESKRIPSI TUGAS

    .NET adalah platform pengembang sumber terbuka gratis, lintas platform untuk membangun berbagai jenis aplikasi. Dengan .NET, Anda dapat menggunakan beberapa bahasa, editor, dan pustaka untuk membangun situs, seluler, desktop, permainan, dan IoT. Meskipun aplikasi web dan seluler telah berkembang pesat, untuk tugas tertentu, aplikasi desktop masih menjadi yang terdepan dalam hal efisiensi dan performa. Hal itu menjelaskan mengapa ada jutaan pengembang yang membangun proyek mereka dengan WPF dan WinForms dan jumlah aplikasi tersebut terus mengalami pertumbuhan.

        Setelah penulis mempelajari .NET, WPF, dan WinForms serta membuat proyek Kalkulator Sederhana menggunakan WinForms .NET. Selanjutnya penulis ditugaskan untuk membuat sebuah program Aplikasi Media Capture.


PENJELASAN

1. Membuat desain formulir yang diperlukan.


2. Membuat kode program.

Source Code Github: https://github.com/noldualima/PBKK-Tugas-2-App-Media-Capture.git
Kode program yang dibuat akan seperti kode dibawah ini.

```

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using AForge; using AForge.Video; using AForge.Video.DirectShow; using System.Drawing.Imaging; namespace WebcamCaptureApp { public partial class Form1 : Form { private FilterInfoCollection captureDevice; private VideoCaptureDevice videoSource; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { captureDevice = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach(FilterInfo deviceList in captureDevice) { comboBoxWebcamList.Items.Add(deviceList.Name); } comboBoxWebcamList.SelectedIndex = 0; videoSource = new VideoCaptureDevice(); } private void buttonStart_Click(object sender, EventArgs e) { if (videoSource.IsRunning) { videoSource.SignalToStop(); videoSource.WaitForStop(); pictureBox1.Image = null; pictureBox1.Invalidate(); } videoSource = new VideoCaptureDevice(captureDevice[comboBoxWebcamList.SelectedIndex].MonikerString); videoSource.NewFrame += new NewFrameEventHandler(VideoSource_NewFrame); videoSource.Start(); } private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs) { pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone(); } private void buttonCapture_Click(object sender, EventArgs e) { pictureBox2.Image = (Bitmap)pictureBox1.Image.Clone(); } private void buttonSaveImage_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "Save Image As"; saveFileDialog.Filter = "Image files (*.jpg, *.png) | *.jpg, *.png"; ImageFormat imageFormat = ImageFormat.Png; if(saveFileDialog.ShowDialog() == DialogResult.OK) { string ext = System.IO.Path.GetExtension(saveFileDialog.FileName); switch (ext) { case ".jpg": imageFormat = ImageFormat.Jpeg; break; case ".png": imageFormat = ImageFormat.Png; break; } pictureBox2.Image.Save(saveFileDialog.FileName, imageFormat); } } private void buttonExit_Click(object sender, EventArgs e) { if (videoSource.IsRunning) { videoSource.SignalToStop(); videoSource.WaitForStop(); pictureBox1.Image = null; pictureBox1.Invalidate(); pictureBox2.Image = null; pictureBox2.Invalidate(); } Application.Exit(null); } } }

```


HASIL PENGERJAAN

Berikut ini merupakan hasil dari pengerjaan program yang telah dilakukan.


Komentar

Postingan populer dari blog ini