📄 form1.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Bluebird.BIP.Camera;
namespace sampleCameraCS
{
public partial class Form1 : Form
{
Camera m_Camera;
CameraParameter m_CameraParam;
bool bPause;
public Form1()
{
InitializeComponent();
m_Camera = new Camera();
m_CameraParam = new CameraParameter();
bPause = false;
Btnstop.Enabled = false;
Btnpause.Enabled = false;
Btnzoomin.Enabled = false;
Btnzoomout.Enabled = false;
Btncapture.Enabled = false;
comboBoxResolution.Items.Add("800X600");
comboBoxResolution.Items.Add("1024X768");
comboBoxResolution.Items.Add("1600X1200");
comboBoxResolution.SelectedItem = "800X600";
comboBoxEffect.Items.Add("none");
comboBoxEffect.Items.Add("negative");
comboBoxEffect.Items.Add("embossing");
comboBoxEffect.Items.Add("black_n_white");
comboBoxEffect.Items.Add("sketch");
comboBoxEffect.Items.Add("solarization");
comboBoxEffect.Items.Add("sephia");
comboBoxEffect.Items.Add("aqua");
comboBoxEffect.Items.Add("posterize");
comboBoxEffect.Items.Add("warm");
comboBoxEffect.Items.Add("cool");
comboBoxEffect.Items.Add("antique");
comboBoxEffect.Items.Add("moonlight");
comboBoxEffect.Items.Add("fog");
comboBoxEffect.Items.Add("gray");
comboBoxEffect.Items.Add("violet");
comboBoxEffect.SelectedItem = "none";
comboBoxWhiteBalance.Items.Add("auto");
comboBoxWhiteBalance.Items.Add("cloudy");
comboBoxWhiteBalance.Items.Add("daylight");
comboBoxWhiteBalance.Items.Add("fluorescent_1");
comboBoxWhiteBalance.Items.Add("fluorescent_2");
comboBoxWhiteBalance.Items.Add("light_bulb");
comboBoxWhiteBalance.SelectedItem = "auto";
comboBoxBright.Items.Add("-3");
comboBoxBright.Items.Add("-2");
comboBoxBright.Items.Add("-1");
comboBoxBright.Items.Add("0");
comboBoxBright.Items.Add("1");
comboBoxBright.Items.Add("2");
comboBoxBright.Items.Add("3");
comboBoxBright.SelectedItem = "0";
}
private void start_Click(object sender, EventArgs e)
{
if (!m_Camera.Open(this.Handle))
{
MessageBox.Show("Camera Open Fail");
return;
}
m_CameraParam.preview_x = 0;
m_CameraParam.preview_y = 26;
m_CameraParam.preview_width = 150; // 240;
m_CameraParam.preview_height = 200; // 320;
m_CameraParam.brightness = 128;
m_CameraParam.saturation = 128;
m_CameraParam.contrast = 128;
m_CameraParam.preview_zoom = 0;
m_CameraParam.ef_mode = effect_mode.effect_none;
m_CameraParam.wb_mode = white_balance_mode.wb_auto;
if (Camera.BB_CAMERA_CODE_SUCCESS != m_Camera.PreviewStart(ref m_CameraParam))
MessageBox.Show("PreviewStart Fail");
Btnstop.Enabled = true;
Btnpause.Enabled = true;
Btnzoomin.Enabled = true;
Btnzoomout.Enabled = true;
Btncapture.Enabled = true;
}
private void stop_Click(object sender, EventArgs e)
{
m_Camera.PreviewStop();
m_Camera.Close();
}
private void close_Click(object sender, EventArgs e)
{
m_Camera.Close();
this.Close();
}
private void pause_Click(object sender, EventArgs e)
{
if (!bPause)
{
bPause = true;
m_Camera.PreviewPause();
Btnpause.Name = "Resume";
}
else
{
m_Camera.PreviewResume();
Btnpause.Name = "Pause";
}
}
private void zoomin_Click(object sender, EventArgs e)
{
if (m_CameraParam.preview_zoom >= 100)
return;
else
m_CameraParam.preview_zoom += 10;
m_Camera.PreviewZoom(ref m_CameraParam);
}
private void zoomout_Click(object sender, EventArgs e)
{
if (m_CameraParam.preview_zoom < 10)
return;
else
m_CameraParam.preview_zoom -= 10;
m_Camera.PreviewZoom(ref m_CameraParam);
}
private void Btncapture_Click(object sender, EventArgs e)
{
if (!m_Camera.IsOpened())
return;
if (checkBoxStrobe.Checked)
m_CameraParam.capture_strobe_on = 1;
else
m_CameraParam.capture_strobe_on = 0;
StringBuilder strName = new StringBuilder();
strName.Append("\\capturetemp.jpg");
if (comboBoxResolution.SelectedItem.Equals("800X600"))
{
m_CameraParam.capture_height = 800;
m_CameraParam.capture_width = 600;
}
else if (comboBoxResolution.SelectedItem.Equals("1024X768"))
{
m_CameraParam.capture_height = 1024;
m_CameraParam.capture_width = 768;
}
else if (comboBoxResolution.SelectedItem.Equals("1600X1200"))
{
m_CameraParam.capture_height = 1600; // 1024;
m_CameraParam.capture_width = 1200; // 768;
}
else
{
m_CameraParam.capture_height = 800;
m_CameraParam.capture_width = 600;
}
m_CameraParam.preview_zoom = 0;
m_CameraParam.capture_file_name = strName;
m_CameraParam.ImageQuality = 90;
m_Camera.Capture(ref m_CameraParam);
}
private void comboBoxResolution_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void comboBoxBright_SelectedIndexChanged(object sender, EventArgs e)
{
if (!m_Camera.IsOpened())
return;
m_CameraParam.brightness = GetBrightness();
m_Camera.SetBrightness(ref m_CameraParam);
}
private void comboBoxEffect_SelectedIndexChanged(object sender, EventArgs e)
{
if (!m_Camera.IsOpened())
return;
m_CameraParam.ef_mode = (effect_mode)GetEffect();
m_Camera.SetEffect(ref m_CameraParam);
}
private void comboBoxWhiteBalance_SelectedIndexChanged(object sender, EventArgs e)
{
if (!m_Camera.IsOpened())
return;
m_CameraParam.wb_mode = (white_balance_mode)GetWhiteBalance();
m_Camera.SetWhiteBalance(ref m_CameraParam);
}
private uint GetBrightness()
{
uint nRet = 128;
if (comboBoxBright.SelectedItem.Equals("-3"))
nRet = 0;
else if (comboBoxBright.SelectedItem.Equals("-2"))
nRet = 42;
else if (comboBoxBright.SelectedItem.Equals("-1"))
nRet = 84;
else if (comboBoxBright.SelectedItem.Equals("0"))
nRet = 128;
else if (comboBoxBright.SelectedItem.Equals("1"))
nRet = 170;
else if (comboBoxBright.SelectedItem.Equals("2"))
nRet = 212;
else if (comboBoxBright.SelectedItem.Equals("3"))
nRet = 254;
else
nRet = 0;
return nRet;
}
private uint GetEffect()
{
effect_mode nRet = 0;
if (comboBoxEffect.SelectedItem.Equals("none"))
nRet = effect_mode.effect_none;
else if (comboBoxEffect.SelectedItem.Equals("antique"))
nRet = effect_mode.effect_antique;
else if (comboBoxEffect.SelectedItem.Equals("aqua"))
nRet = effect_mode.effect_aqua;
else if (comboBoxEffect.SelectedItem.Equals("black_n_white"))
nRet = effect_mode.effect_black_n_white;
else if (comboBoxEffect.SelectedItem.Equals("cool"))
nRet = effect_mode.effect_cool;
else if (comboBoxEffect.SelectedItem.Equals("embossing"))
nRet = effect_mode.effect_embossing;
else if (comboBoxEffect.SelectedItem.Equals("fog"))
nRet = effect_mode.effect_fog;
else if (comboBoxEffect.SelectedItem.Equals("gray"))
nRet = effect_mode.effect_gray;
else if (comboBoxEffect.SelectedItem.Equals("moonlight"))
nRet = effect_mode.effect_moonlight;
else if (comboBoxEffect.SelectedItem.Equals("negative"))
nRet = effect_mode.effect_negative;
else if (comboBoxEffect.SelectedItem.Equals("posterize"))
nRet = effect_mode.effect_posterize;
else if (comboBoxEffect.SelectedItem.Equals("sephia"))
nRet = effect_mode.effect_sephia;
else if (comboBoxEffect.SelectedItem.Equals("sketch"))
nRet = effect_mode.effect_sketch;
else if (comboBoxEffect.SelectedItem.Equals("solarization"))
nRet = effect_mode.effect_solarization;
else if (comboBoxEffect.SelectedItem.Equals("violet"))
nRet = effect_mode.effect_violet;
else if (comboBoxEffect.SelectedItem.Equals("warm"))
nRet = effect_mode.effect_warm;
else
nRet = effect_mode.effect_none;
return (uint)nRet;
}
private uint GetWhiteBalance()
{
white_balance_mode nRet = 0;
if (comboBoxWhiteBalance.SelectedItem.Equals("auto"))
nRet = white_balance_mode.wb_auto;
else if (comboBoxWhiteBalance.SelectedItem.Equals("cloudy"))
nRet = white_balance_mode.wb_cloudy;
else if (comboBoxWhiteBalance.SelectedItem.Equals("daylight"))
nRet = white_balance_mode.wb_daylight;
else if (comboBoxWhiteBalance.SelectedItem.Equals("fluorescent_1"))
nRet = white_balance_mode.wb_fluorescent_1;
else if (comboBoxWhiteBalance.SelectedItem.Equals("fluorescent_2"))
nRet = white_balance_mode.wb_fluorescent_2;
else if (comboBoxWhiteBalance.SelectedItem.Equals("light_bulb"))
nRet = white_balance_mode.wb_light_bulb;
else
nRet = white_balance_mode.wb_auto;
return (uint)nRet;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -