⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 在MOBILE下实现摄像头调用,通过DLL库实现如放大,缩小等一些简单功能.
💻 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 + -