?? frmmain.cs
字號:
VideoOperate.VCASetVidCapFrameRate(0, 25, false);
VideoOperate.VCASetVidCapSize(0, 320, 240);
VideoOperate.VCASetXVIDQuality(0, 10, 3);
VideoOperate.VCASetXVIDCompressMode(0, VideoOperate.COMPRESSMODE.XVID_VBR_MODE);
VideoOperate.VCAStartVideoCapture(0, VideoOperate.CAPMODEL.CAP_MPEG4_STREAM, VideoOperate.MP4MODEL.MPEG4_AVIFILE_CALLBACK, sfDialog.FileName);
}
}
else if (btnVideo.Text == "停止錄像")
{
btnVideo.Text = "錄像";
VideoOperate.VCAStopVideoCapture(0);
}
}
//回放
private void btnPlay_Click(object sender, EventArgs e)
{
frmPlay frmpaly = new frmPlay();
frmpaly.ShowDialog();
}
//快照
private void btnSnapShots_Click(object sender, EventArgs e)
{
if (rbtnBMP.Checked)
{
VideoOperate.VCASaveAsBmpFile(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\")) + "\\Photo\\" + DateTime.Now.ToFileTime() + ".bmp");
}
else
{
VideoOperate.VCASaveAsJpegFile(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\")) + "\\Photo\\" + DateTime.Now.ToFileTime() + ".jpg", 100);
}
}
//開始自動監控
private void btnAutoMonitor_Click(object sender, EventArgs e)
{
if (btnAutoMonitor.Text == "開始")
{
if (rbtnWideWatch.Checked)
{
messagesend = pelcod.CameraTilt(addressin, PelcoD.Tilt.Up, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
Thread.Sleep(2000);
messagesend = pelcod.CameraPan(addressin, PelcoD.Pan.Left, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
Thread.Sleep(2000);
messagesend = pelcod.CameraTilt(addressin, PelcoD.Tilt.Down, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
Thread.Sleep(2000);
messagesend = pelcod.CameraPan(addressin, PelcoD.Pan.Right, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
}
else if (rbtnVerticalWatch.Checked)
{
messagesend = pelcod.CameraTilt(addressin, PelcoD.Tilt.Up, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
Thread.Sleep(2000);
messagesend = pelcod.CameraTilt(addressin, PelcoD.Tilt.Down, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
}
else
{
messagesend = pelcod.CameraPan(addressin, PelcoD.Pan.Left, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
Thread.Sleep(2000);
messagesend = pelcod.CameraPan(addressin, PelcoD.Pan.Right, speedin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
}
btnAutoMonitor.Text = "停止";
}
else
{
stopMove();
btnAutoMonitor.Text = "開始";
}
}
//停止監控
private void btnStop_Click(object sender, EventArgs e)
{
if (btnStop.Text == "停止")
{
string strDPath = Application.StartupPath;
string strPath = strDPath.Substring(0, strDPath.LastIndexOf("\\")).Substring(0, strDPath.Substring(0, strDPath.LastIndexOf("\\")).LastIndexOf("\\")) + "\\Image\\主頁面\\主界面圖片.bmp";
plVideo1.BackgroundImage = System.Drawing.Image.FromFile(strPath);
VideoOperate.VCAUnInitSdk();
btnStop.Text = "開始";
}
else if (btnStop.Text == "開始")
{
plVideo1.BackgroundImage = null;
startMonitor();
btnStop.Text = "停止";
}
}
//打開軟件注冊窗體
private void btnReg_Click(object sender, EventArgs e)
{
frmRegister frmregister = new frmRegister();
frmregister.Show();
this.Hide();
}
#region 釋放鼠標時,視頻監控停止移動
private void btnUp_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnDown_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnLeft_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnRight_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnAHighlghts_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnCHighlghts_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnAFocus_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnCFocus_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnAAperture_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnCAperture_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnAWipers_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
private void btnCWipers_MouseUp(object sender, MouseEventArgs e)
{
stopMove();
}
#endregion
//關閉主窗體時,退出應用程序
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
//開始監控
protected void startMonitor()
{
if (VideoOperate.VCAInitSdk(this.Handle, VideoOperate.DISPLAYTRANSTYPE.PCI_MEMORY_VIDEOMEMORY, false))
{
m_dwDevNum = VideoOperate.VCAGetDevNum();
if (m_dwDevNum == 0)
{
MessageBox.Show("VC404卡驅動程序沒有安裝");
}
else
{
for (int i = 0; i < m_dwDevNum; i++)
{
VideoOperate.VCAOpenDevice(i, plVideo1.Handle);
VideoOperate.VCAStartVideoPreview(i);
}
}
}
}
//停止移動
protected void stopMove()
{
messagesend = pelcod.CameraStop(addressin);
serialPort.Open();
serialPort.Write(messagesend, 0, 7);
serialPort.Close();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -