AFORGE 라이브러리 학습의 봉인 카메라 조작
7282 단어 dllAforge카메라 조작의 봉인
나는 이 조작들을 DLL에 봉인했다.
준비 작업
1, AFORGE 라이브러리를 참조하는 DLL 추가:
AForge.Video.dll;
AForge.Video.DirectShow.dll;
이름 공간 추가using AForge.Video;
using AForge.Video.DirectShow;
2, 인용 추가: 이것은 시스템에 있는 것으로 인용을 추가합니다.net 아래system.drawing.dll;
이름 공간을 추가하려면 다음과 같이 하십시오.using System.Drawing;
------------------DLL 소스 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Webcam;
using AForge.Controls;
using AForge.Video;
using AForge.Video.DirectShow;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
private VideoCaptureDevice video;
private Bitmap bitmap;
public Form1()
{
InitializeComponent();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
string[] videoDevicesName = WebcamHelper.VideoDevicesName();
foreach (string item in videoDevicesName)
{
comboBox1.Items.Add(item);
}
comboBox1.SelectedIndex = 0;
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void connBtn_Click(object sender, EventArgs e)
{
video = WebcamHelper.ConnectWebam(comboBox1.SelectedIndex);
video.NewFrame += new NewFrameEventHandler(Cam_NewFrame);
}
///------ ,
private void Cam_NewFrame(object obj, NewFrameEventArgs eventArgs)
{
bitmap = (Bitmap)eventArgs.Frame.Clone();
pictureBox1.Image = bitmap;
///---
GC.Collect();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void closeBtn_Click(object sender, EventArgs e)
{
WebcamHelper.DisConnectWebcam(ref video);
}
/// <summary>
/// --
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (video != null)
{
///---
if (video.IsRunning)
{
video.Stop();
}
}
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void captureBtn_Click(object sender, EventArgs e)
{
///---
///--- 。
string filepath =Application.StartupPath + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + ".jpg";
if (true == WebcamHelper.SaveCapturePicture(ref bitmap, filepath, 200, 100))
{
MessageBox.Show(" ");
}
else
{
MessageBox.Show(" ");
}
}
}
}
-------------------- DLL 예제 사용
1, 참조 추가: 직접 작성한 DLL(Webcam.dll)
2, 소스:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Webcam;
using AForge.Video;
using AForge.Video.DirectShow;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
private VideoCaptureDevice video;
private Bitmap bitmap;
public Form1()
{
InitializeComponent();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
string[] videoDevicesName = WebcamHelper.VideoDevicesName();
foreach (string item in videoDevicesName)
{
comboBox1.Items.Add(item);
}
comboBox1.SelectedIndex = 0;
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void connBtn_Click(object sender, EventArgs e)
{
video = WebcamHelper.ConnectWebam(comboBox1.SelectedIndex);
video.NewFrame += new NewFrameEventHandler(Cam_NewFrame);
}
///------ ,
private void Cam_NewFrame(object obj, NewFrameEventArgs eventArgs)
{
bitmap = (Bitmap)eventArgs.Frame.Clone();
pictureBox1.Image = bitmap;
///---
GC.Collect();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void closeBtn_Click(object sender, EventArgs e)
{
WebcamHelper.DisConnectWebcam(ref video);
}
/// <summary>
/// --
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (video != null)
{
///---
if (video.IsRunning)
{
video.Stop();
}
}
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void captureBtn_Click(object sender, EventArgs e)
{
///---
///--- 。
string filepath =Application.StartupPath + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + ".jpg";
if (true == WebcamHelper.SaveCapturePicture(ref bitmap, filepath, 200, 100))
{
MessageBox.Show(" ");
}
else
{
MessageBox.Show(" ");
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LoadLibrary에서 126 오류가 발생하면 원인이되는 파일 이름을 찾는 방법
Loadlibrary에서 DLL을 동적으로 로드할 때 로드 실패입니다.
실패한 파일 이름은 알려주지 않습니다.
로드하고자 하는 DLL 자체를 로드할 수 없다면 이야기는 간단하지만, 대상 DLL이 다른 DLL을 로드하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
using AForge.Video;
using AForge.Video.DirectShow;
system.drawing.dll;
using System.Drawing;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Webcam;
using AForge.Controls;
using AForge.Video;
using AForge.Video.DirectShow;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
private VideoCaptureDevice video;
private Bitmap bitmap;
public Form1()
{
InitializeComponent();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
string[] videoDevicesName = WebcamHelper.VideoDevicesName();
foreach (string item in videoDevicesName)
{
comboBox1.Items.Add(item);
}
comboBox1.SelectedIndex = 0;
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void connBtn_Click(object sender, EventArgs e)
{
video = WebcamHelper.ConnectWebam(comboBox1.SelectedIndex);
video.NewFrame += new NewFrameEventHandler(Cam_NewFrame);
}
///------ ,
private void Cam_NewFrame(object obj, NewFrameEventArgs eventArgs)
{
bitmap = (Bitmap)eventArgs.Frame.Clone();
pictureBox1.Image = bitmap;
///---
GC.Collect();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void closeBtn_Click(object sender, EventArgs e)
{
WebcamHelper.DisConnectWebcam(ref video);
}
/// <summary>
/// --
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (video != null)
{
///---
if (video.IsRunning)
{
video.Stop();
}
}
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void captureBtn_Click(object sender, EventArgs e)
{
///---
///--- 。
string filepath =Application.StartupPath + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + ".jpg";
if (true == WebcamHelper.SaveCapturePicture(ref bitmap, filepath, 200, 100))
{
MessageBox.Show(" ");
}
else
{
MessageBox.Show(" ");
}
}
}
}
-------------------- DLL 예제 사용
1, 참조 추가: 직접 작성한 DLL(Webcam.dll)
2, 소스:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Webcam;
using AForge.Video;
using AForge.Video.DirectShow;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
private VideoCaptureDevice video;
private Bitmap bitmap;
public Form1()
{
InitializeComponent();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
string[] videoDevicesName = WebcamHelper.VideoDevicesName();
foreach (string item in videoDevicesName)
{
comboBox1.Items.Add(item);
}
comboBox1.SelectedIndex = 0;
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void connBtn_Click(object sender, EventArgs e)
{
video = WebcamHelper.ConnectWebam(comboBox1.SelectedIndex);
video.NewFrame += new NewFrameEventHandler(Cam_NewFrame);
}
///------ ,
private void Cam_NewFrame(object obj, NewFrameEventArgs eventArgs)
{
bitmap = (Bitmap)eventArgs.Frame.Clone();
pictureBox1.Image = bitmap;
///---
GC.Collect();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void closeBtn_Click(object sender, EventArgs e)
{
WebcamHelper.DisConnectWebcam(ref video);
}
/// <summary>
/// --
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (video != null)
{
///---
if (video.IsRunning)
{
video.Stop();
}
}
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void captureBtn_Click(object sender, EventArgs e)
{
///---
///--- 。
string filepath =Application.StartupPath + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + ".jpg";
if (true == WebcamHelper.SaveCapturePicture(ref bitmap, filepath, 200, 100))
{
MessageBox.Show(" ");
}
else
{
MessageBox.Show(" ");
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LoadLibrary에서 126 오류가 발생하면 원인이되는 파일 이름을 찾는 방법
Loadlibrary에서 DLL을 동적으로 로드할 때 로드 실패입니다.
실패한 파일 이름은 알려주지 않습니다.
로드하고자 하는 DLL 자체를 로드할 수 없다면 이야기는 간단하지만, 대상 DLL이 다른 DLL을 로드하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Webcam;
using AForge.Video;
using AForge.Video.DirectShow;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
private VideoCaptureDevice video;
private Bitmap bitmap;
public Form1()
{
InitializeComponent();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
string[] videoDevicesName = WebcamHelper.VideoDevicesName();
foreach (string item in videoDevicesName)
{
comboBox1.Items.Add(item);
}
comboBox1.SelectedIndex = 0;
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void connBtn_Click(object sender, EventArgs e)
{
video = WebcamHelper.ConnectWebam(comboBox1.SelectedIndex);
video.NewFrame += new NewFrameEventHandler(Cam_NewFrame);
}
///------ ,
private void Cam_NewFrame(object obj, NewFrameEventArgs eventArgs)
{
bitmap = (Bitmap)eventArgs.Frame.Clone();
pictureBox1.Image = bitmap;
///---
GC.Collect();
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void closeBtn_Click(object sender, EventArgs e)
{
WebcamHelper.DisConnectWebcam(ref video);
}
/// <summary>
/// --
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (video != null)
{
///---
if (video.IsRunning)
{
video.Stop();
}
}
}
/// <summary>
/// ---
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void captureBtn_Click(object sender, EventArgs e)
{
///---
///--- 。
string filepath =Application.StartupPath + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + ".jpg";
if (true == WebcamHelper.SaveCapturePicture(ref bitmap, filepath, 200, 100))
{
MessageBox.Show(" ");
}
else
{
MessageBox.Show(" ");
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LoadLibrary에서 126 오류가 발생하면 원인이되는 파일 이름을 찾는 방법Loadlibrary에서 DLL을 동적으로 로드할 때 로드 실패입니다. 실패한 파일 이름은 알려주지 않습니다. 로드하고자 하는 DLL 자체를 로드할 수 없다면 이야기는 간단하지만, 대상 DLL이 다른 DLL을 로드하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.