1.引用海康相机动态库(MvCameraControl.Net.dll)
2.把SDK里的事件改成方法,进行调用
namespace 窗体
{
public partial class ucCamera : UserControl
{
MyCamera.MV_CC_DEVICE_INFO_LIST m_pDeviceList; //设备列表
private MyCamera m_pMyCamera; //设备对象
// ch:用于从驱动获取图像的缓存 | en:Buffer for getting image from driver
UInt32 m_nBufSizeForDriver = 3072 * 2048 * 3;
byte[] m_pBufForDriver = new byte[3072 * 2048 * 3];
// ch:用于保存图像的缓存 | en:Buffer for saving image
UInt32 m_nBufSizeForSaveImage = 3072 * 2048 * 3 * 3 + 2048;
byte[] m_pBufForSaveImage = new byte[3072 * 2048 * 3 * 3 + 2048];
public ucCamera()
{
InitializeComponent();
m_pDeviceList = new MyCamera.MV_CC_DEVICE_INFO_LIST();
}
public void ShowErrorMsg(string csMessage, int nErrorNum)
{
string errorMsg;
if (nErrorNum == 0)
{
errorMsg = csMessage;
}
else
{
errorMsg = csMessage + ": Error =" + String.Format("{0:X}", nErrorNum);
}
switch (nErrorNum)
{
case MyCamera.MV_E_HANDLE: errorMsg += " Error or invalid handle "; break;
case MyCamera.MV_E_SUPPORT: errorMsg += " Not supported function "; break;
case MyCamera.MV_E_BUFOVER: errorMsg += " Cache is full "; break;
case MyCamera.MV_E_CALLORDER: errorMsg += " Function calling order error "; break;
case MyCamera.MV_E_PARAMETER: errorMsg += " Incorrect parameter "; break;
case MyCamera.MV_E_RESOURCE: errorMsg += " Applying resource failed "; break;
case MyCamera.MV_E_NODATA: errorMsg += " No data "; break;
case MyCamera.MV_E_PRECONDITION: errorMsg += " Precondition error, or running environment changed "; break;
case MyCamera.MV_E_VERSION: errorMsg += " Version mismatches "; break;
case MyCamera.MV_E_NOENOUGH_BUF: errorMsg += " Insufficient memory "; break;
case MyCamera.MV_E_UNKNOW: errorMsg += &