亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? configdlg.cpp

?? 基于SDK的圖像采集程序
?? CPP
字號:
// ConfigDlg.cpp : implementation file
//

#include "stdafx.h"
#include "multicard.h"
#include "ConfigDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CConfigDlg dialog


CConfigDlg::CConfigDlg(int iCardID, CWnd* pParent /*=NULL*/)
	: CDialog(CConfigDlg::IDD, pParent),
	m_iCardID(iCardID)
{
	//{{AFX_DATA_INIT(CConfigDlg)
	m_iStreamHeight = 0;
	m_iStreamWidth = 0;
	//}}AFX_DATA_INIT
}


void CConfigDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CConfigDlg)
	DDX_Control(pDX, IDC_COMBO_SUBTYPE, m_comboSubType);
	DDX_Control(pDX, IDC_COMBO_STANDARD, m_comboStandard);
	DDX_Control(pDX, IDC_COMBO_VS, m_comboVideoSource);
	DDX_Control(pDX, IDC_SLIDER_SATURATION, m_sliderSaturation);
	DDX_Control(pDX, IDC_SLIDER_HUE, m_sliderHue);
	DDX_Control(pDX, IDC_SLIDER_CONTRAST, m_sliderContrast);
	DDX_Control(pDX, IDC_SLIDER_BRIGHTNESS, m_sliderBrightness);
	DDX_Text(pDX, IDC_EDIT_HEIGHT, m_iStreamHeight);
	DDV_MinMaxUInt(pDX, m_iStreamHeight, 60, 576);
	DDX_Text(pDX, IDC_EDIT_WIDTH, m_iStreamWidth);
	DDV_MinMaxUInt(pDX, m_iStreamWidth, 80, 720);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CConfigDlg, CDialog)
	//{{AFX_MSG_MAP(CConfigDlg)
	ON_BN_CLICKED(IDC_SETTO_DEFAULT, OnSettoDefault)
	ON_WM_HSCROLL()
	ON_CBN_SELCHANGE(IDC_COMBO_VS, OnSelchangeComboVs)
	ON_CBN_SELCHANGE(IDC_COMBO_STANDARD, OnSelchangeComboStandard)
	ON_BN_CLICKED(IDC_BUTTON_SETVIDEOINFO, OnButtonSetVideoInfo)
	ON_WM_TIMER()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CConfigDlg message handlers

BOOL CConfigDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	char szCaption[20];
	sprintf(szCaption, "%d號卡: 配置", m_iCardID);
	SetWindowText(szCaption);

	// TODO: Add extra initialization here
	VIDEOPROPERTYRANGE vpr;
	HRESULT hr;

	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Brightness, &vpr);
	m_sliderBrightness.SetRange(vpr.lMin, vpr.lMax, TRUE);
	m_sliderBrightness.SetPos(vpr.lValue);
	SetDlgItemInt(IDC_STATIC_BRIGHTNESS, vpr.lValue, FALSE);
	
	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Contrast, &vpr);
	m_sliderContrast.SetRange(vpr.lMin, vpr.lMax, TRUE);
	m_sliderContrast.SetPos(vpr.lValue);
	SetDlgItemInt(IDC_STATIC_CONTRAST, vpr.lValue, FALSE);

	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Hue, &vpr);
	m_sliderHue.SetRange(vpr.lMin, vpr.lMax, TRUE);
	m_sliderHue.SetPos(vpr.lValue);
	SetDlgItemInt(IDC_STATIC_HUE, vpr.lValue, FALSE);

	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Saturation, &vpr);
	m_sliderSaturation.SetRange(vpr.lMin, vpr.lMax, TRUE);
	m_sliderSaturation.SetPos(vpr.lValue);
	SetDlgItemInt(IDC_STATIC_SATURATION, vpr.lValue, FALSE);

	long pin;
	hr = DSStream_WhatInPinRouteToOutPin(m_iCardID, 0, &pin);
	if(SUCCEEDED(hr))
		m_comboVideoSource.SetCurSel(pin);
	else
		m_comboVideoSource.EnableWindow(FALSE);

	VideoStandard vs;
	long avs;
	int i = 0;
	hr = DSStream_GetVideoStandard(m_iCardID, &vs, &avs);
	if(FAILED(hr))
		m_comboStandard.EnableWindow(FALSE);
	else
	{
	     if(avs & VideoStandard_NTSC_M )
		 {
			 m_comboStandard.InsertString(0, "NTSC_M");
			 m_comboStandard.SetItemData(0, VideoStandard_NTSC_M);
		 }
	     if(avs & VideoStandard_NTSC_M_J )
		 {
			 m_comboStandard.InsertString(0, "NTSC_M_J");
			 m_comboStandard.SetItemData(0, VideoStandard_NTSC_M_J);
		 }
	     if(avs & VideoStandard_NTSC_433 )
		 {
			 m_comboStandard.InsertString(0, "NTSC_433");
			 m_comboStandard.SetItemData(0, VideoStandard_NTSC_433);
		 }
	     if(avs & VideoStandard_PAL_B )
		 {
			 m_comboStandard.InsertString(0, "PAL_B");
			 m_comboStandard.SetItemData(0, VideoStandard_PAL_B);
		 }
	     if(avs & VideoStandard_PAL_D )
		 {
			 m_comboStandard.InsertString(0, "PAL_D");
			 m_comboStandard.SetItemData(0, VideoStandard_PAL_D);
		 }
	     if(avs & VideoStandard_PAL_H )
		 {
			 m_comboStandard.InsertString(0, "PAL_H");
			 m_comboStandard.SetItemData(0, VideoStandard_PAL_H);
		 }
	     if(avs & VideoStandard_PAL_I )
		 {
			 m_comboStandard.InsertString(0, "PAL_I");
			 m_comboStandard.SetItemData(0, VideoStandard_PAL_I);
		 }
	     if(avs & VideoStandard_PAL_M )
		 {
			 m_comboStandard.InsertString(0, "PAL_M");
			 m_comboStandard.SetItemData(0, VideoStandard_PAL_M);
		 }
	     if(avs & VideoStandard_PAL_N )
		 {
			 m_comboStandard.InsertString(0, "PAL_N");
			 m_comboStandard.SetItemData(0, VideoStandard_PAL_N);
		 }
	     if(avs & VideoStandard_PAL_60 )
		 {
			 m_comboStandard.InsertString(0, "PAL_60");
			 m_comboStandard.SetItemData(0, VideoStandard_PAL_60);
		 }
	     if(avs & VideoStandard_SECAM_B )
		 {
			 m_comboStandard.InsertString(0, "SECAM_B");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_B);
		 }
	     if(avs & VideoStandard_SECAM_D )
		 {
			 m_comboStandard.InsertString(0, "SECAM_D");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_D);
		 }
	     if(avs & VideoStandard_SECAM_G )
		 {
			 m_comboStandard.InsertString(0, "SECAM_G");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_G);
		 }
	     if(avs & VideoStandard_SECAM_H )
		 {
			 m_comboStandard.InsertString(0, "SECAM_H");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_H);
		 }
	     if(avs & VideoStandard_SECAM_K )
		 {
			 m_comboStandard.InsertString(0, "SECAM_K");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_K);
		 }
	     if(avs & VideoStandard_SECAM_K1 )
		 {
			 m_comboStandard.InsertString(0, "SECAM_K1");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_K1);
		 }
	     if(avs & VideoStandard_SECAM_L )
		 {
			 m_comboStandard.InsertString(0, "SECAM_L");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_L);
		 }
	     if(avs & VideoStandard_SECAM_L1 )
		 {
			 m_comboStandard.InsertString(0, "SECAM_L1");
			 m_comboStandard.SetItemData(0, VideoStandard_SECAM_L1);
		 }
		 for(int i=0; i<m_comboStandard.GetCount(); i++)
		 {
			if(vs==(long)m_comboStandard.GetItemData(i))
			{
				m_comboStandard.SetCurSel(i);
				break;
			}
		 }
	}

//======= Add for ver5.2, begin ===============
	GetVideoInfo();

	SetTimer(0, 200, NULL);
//======= Add for ver5.2, end =================

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CConfigDlg::OnSettoDefault() 
{
	VIDEOPROPERTYRANGE vpr;

	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Brightness, &vpr);
	DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Brightness, vpr.lDefault);
	m_sliderBrightness.SetPos(vpr.lDefault);
	SetDlgItemInt(IDC_STATIC_BRIGHTNESS, vpr.lValue, FALSE);
	
	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Contrast, &vpr);
	DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Contrast, vpr.lDefault);
	m_sliderContrast.SetPos(vpr.lDefault);
	SetDlgItemInt(IDC_STATIC_CONTRAST, vpr.lValue, FALSE);

	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Hue, &vpr);
	DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Hue, vpr.lDefault);
	m_sliderHue.SetPos(vpr.lDefault);
	SetDlgItemInt(IDC_STATIC_HUE, vpr.lValue, FALSE);

	DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Saturation, &vpr);
	DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Saturation, vpr.lDefault);
	m_sliderSaturation.SetPos(vpr.lDefault);
	SetDlgItemInt(IDC_STATIC_SATURATION, vpr.lValue, FALSE);
}

void CConfigDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default
	VIDEOPROPERTYRANGE vpr;
	HRESULT hr;
	int pos;

	if(pScrollBar->m_hWnd == m_sliderBrightness.m_hWnd)
	{
		pos = m_sliderBrightness.GetPos();
		DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Brightness, pos);
		hr = DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Brightness, &vpr);
		if(SUCCEEDED(hr))
			SetDlgItemInt(IDC_STATIC_BRIGHTNESS, vpr.lValue, FALSE);
	}
	else if(pScrollBar->m_hWnd == m_sliderContrast.m_hWnd)
	{
		pos = m_sliderContrast.GetPos();
		DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Contrast, pos);
		hr = DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Contrast, &vpr);
		if(SUCCEEDED(hr))
			SetDlgItemInt(IDC_STATIC_CONTRAST, vpr.lValue, FALSE);
	}
	else if(pScrollBar->m_hWnd == m_sliderHue.m_hWnd)
	{
		pos = m_sliderHue.GetPos();
		DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Hue, pos);
		hr = DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Hue, &vpr);
		if(SUCCEEDED(hr))
			SetDlgItemInt(IDC_STATIC_HUE, vpr.lValue, FALSE);
	}
	else if(pScrollBar->m_hWnd == m_sliderSaturation.m_hWnd)
	{
		pos = m_sliderSaturation.GetPos();
		DSStream_SetVideoPropertyValue(m_iCardID, VideoProperty_Saturation, pos);
		hr = DSStream_GetVideoPropertyValue(m_iCardID, VideoProperty_Saturation, &vpr);
		if(SUCCEEDED(hr))
			SetDlgItemInt(IDC_STATIC_SATURATION, vpr.lValue, FALSE);
	}

	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CConfigDlg::OnSelchangeComboVs() 
{
	int pos;
	pos = m_comboVideoSource.GetCurSel();
	DSStream_RouteInPinToOutPin(m_iCardID, pos, 0);
}

void CConfigDlg::OnSelchangeComboStandard() 
{
	int pos;
	long data;
	pos = m_comboStandard.GetCurSel();
	data = m_comboStandard.GetItemData(pos);
	DSStream_SetVideoStandard(m_iCardID, (VideoStandard)data);
}

//======= Add for ver5.2, begin ===============
void CConfigDlg::OnButtonSetVideoInfo() 
{
	VIDEOSTREAMINFO vsi;
	HRESULT hr;

	hr = DSStream_GetVideoInfo(m_iCardID, &vsi, PREVIEW);
	if(SUCCEEDED(hr))
	{
		UpdateData();
		vsi.subtype = (VideoSubType) m_comboSubType.GetCurSel();
		vsi.bmiHeader.biWidth = m_iStreamWidth;
		vsi.bmiHeader.biHeight= m_iStreamHeight;

		DSStream_DisconnectPin(m_iCardID, PREVIEW);
		DSStream_SetVideoInfo(m_iCardID, vsi, PREVIEW);
		DSStream_ConnectPin(m_iCardID, PREVIEW);

		BOOL ok;
		DSStream_IsConnected(m_iCardID, &ok);
		if(!ok)
		{
			char sz[255];
			char subtype[20];
			m_comboSubType.GetLBText( m_comboSubType.GetCurSel(), subtype );
			sprintf(sz, "設置視頻格式錯誤:\n可能是當前的顯示方式不支持%s格式", subtype);
			MessageBox(sz, "錯誤");
		}
	}

	GetVideoInfo();

	::SendMessage(::GetParent(m_hWnd), WM_COMMAND, ID_NORMALSIZE, NULL);
}

void CConfigDlg::GetVideoInfo()
{
	VIDEOSTREAMINFO vsi;
	HRESULT hr;

	hr = DSStream_GetVideoInfo(m_iCardID, &vsi, PREVIEW);
	if(SUCCEEDED(hr))
	{
		m_comboSubType.SetCurSel(int(vsi.subtype));
		m_iStreamWidth = vsi.bmiHeader.biWidth;
		m_iStreamHeight= vsi.bmiHeader.biHeight;
		UpdateData(FALSE);
	}
	else
	{
		GetDlgItem(IDC_BUTTON_SETVIDEOINFO)->EnableWindow(FALSE);
		GetDlgItem(IDC_EDIT_WIDTH)->EnableWindow(FALSE);
		GetDlgItem(IDC_EDIT_HEIGHT)->EnableWindow(FALSE);
		m_comboSubType.EnableWindow(FALSE);
	}
}

//檢測視頻源是否有信號輸入
void CConfigDlg::OnTimer(UINT nIDEvent) 
{
	BOOL bSignalLocked = FALSE;
	HRESULT hr = DSStream_IsVideoSignalLocked(m_iCardID, &bSignalLocked);
	if( SUCCEEDED(hr) && bSignalLocked )
		SetDlgItemText(IDC_STATIC_SIGNAL, "是");
	else
		SetDlgItemText(IDC_STATIC_SIGNAL, "否");

	CDialog::OnTimer(nIDEvent);
}

void CConfigDlg::OnDestroy() 
{
	KillTimer(0);

	CDialog::OnDestroy();
}
//======= Add for ver5.2, end =================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲高清视频在线| 在线看日本不卡| 在线国产电影不卡| 久久久午夜精品理论片中文字幕| 亚洲人成网站影音先锋播放| 美女任你摸久久| 在线亚洲一区二区| 国产日韩av一区| 激情亚洲综合在线| 欧洲精品中文字幕| 亚洲天堂成人网| 国产精品77777| 日韩欧美在线1卡| 亚洲午夜在线视频| 色94色欧美sute亚洲13| 国产精品女人毛片| 国产精品18久久久久| xf在线a精品一区二区视频网站| 五月天丁香久久| 欧美视频完全免费看| 亚洲精品成人少妇| 日本福利一区二区| 亚洲欧美激情视频在线观看一区二区三区| 国产麻豆91精品| 久久香蕉国产线看观看99| 久久精品免费观看| 日韩欧美亚洲国产另类| 麻豆成人91精品二区三区| 欧美大肚乱孕交hd孕妇| 欧美a级一区二区| 911精品国产一区二区在线| 性欧美疯狂xxxxbbbb| 欧美日韩国产中文| 麻豆免费看一区二区三区| 日韩一级欧美一级| 蜜臀精品一区二区三区在线观看 | 久久综合色之久久综合| 日韩av中文字幕一区二区三区| 欧美日韩中文字幕一区二区| 亚洲一区二区成人在线观看| 欧美精品日韩综合在线| 欧美a级一区二区| 久久久午夜精品理论片中文字幕| 国产一区二区三区黄视频 | 亚洲第一狼人社区| 欧美伦理影视网| 精品一区二区在线视频| 国产亚洲欧美日韩日本| 91视频国产资源| 天堂av在线一区| 精品久久久久香蕉网| 国产99一区视频免费| 亚洲摸摸操操av| 欧美日韩成人一区| 免费成人在线播放| 中文字幕高清不卡| 日本福利一区二区| 久久99热狠狠色一区二区| 国产午夜精品理论片a级大结局| 成人免费观看视频| 婷婷久久综合九色国产成人| 亚洲免费观看高清完整版在线观看 | 午夜精品久久久久久久99水蜜桃 | 亚洲男同性恋视频| 欧美一区二区三区免费观看视频| 国内精品国产三级国产a久久| 国产精品久久久久久福利一牛影视 | 一区二区国产盗摄色噜噜| 欧美一个色资源| 色综合久久久久久久久久久| 免费成人在线观看| 亚洲精品美国一| 精品国产免费人成在线观看| 一本久久a久久免费精品不卡| 免费在线一区观看| 亚洲三级在线观看| 久久久久久亚洲综合| 欧美三级一区二区| a级高清视频欧美日韩| 久色婷婷小香蕉久久| 亚洲一区在线播放| 国产精品女同互慰在线看| 日韩美女视频一区二区在线观看| 91在线精品一区二区| 国产一区二区三区黄视频| 亚洲va中文字幕| 中文字幕一区二区三中文字幕| 日韩欧美一级二级三级久久久| 91麻豆6部合集magnet| 国产福利一区二区三区| 国内精品嫩模私拍在线| 日本特黄久久久高潮| 亚洲制服丝袜av| 亚洲柠檬福利资源导航| 中文一区在线播放| 精品久久久久久久人人人人传媒| 欧美日韩国产一区二区三区地区| 97超碰欧美中文字幕| 成人小视频免费观看| 国产麻豆精品久久一二三| 激情综合色丁香一区二区| 日本欧美加勒比视频| 午夜欧美电影在线观看| 亚洲精选免费视频| 亚洲天堂中文字幕| 一色桃子久久精品亚洲| 国产农村妇女精品| 国产亲近乱来精品视频| 久久久久久久久久电影| 久久精品夜夜夜夜久久| 久久久国产综合精品女国产盗摄| 欧美草草影院在线视频| 日韩一卡二卡三卡四卡| 欧美一区二区三区日韩视频| 日韩一区二区三区观看| 日韩片之四级片| 日韩精品一区二区在线| 久久综合国产精品| 国产欧美日韩另类一区| ...中文天堂在线一区| 亚洲天堂免费看| 亚洲一区二区美女| 日韩高清一区二区| 国产综合色产在线精品| 成人免费的视频| 色狠狠一区二区三区香蕉| 在线欧美日韩精品| 欧美精品1区2区3区| 日韩三级高清在线| 日本一区二区在线不卡| 亚洲视频 欧洲视频| 午夜精品国产更新| 久久精工是国产品牌吗| 成人综合婷婷国产精品久久蜜臀| 成人av高清在线| 欧美日韩精品一区二区天天拍小说 | 国产自产高清不卡| 盗摄精品av一区二区三区| 91免费在线视频观看| 欧美无乱码久久久免费午夜一区| 欧美一区二区久久久| 国产欧美综合在线观看第十页| 国产精品嫩草99a| 亚洲老妇xxxxxx| 免费人成网站在线观看欧美高清| 国产麻豆精品一区二区| 91网址在线看| 日韩一二三区视频| 国产精品乱码久久久久久| 亚洲第一主播视频| 国产精品一二三四| 精品1区2区3区| 久久久久国色av免费看影院| 亚洲一区二区在线视频| 精品一区二区影视| 色婷婷一区二区三区四区| 日韩亚洲欧美成人一区| 国产精品白丝在线| 青青草原综合久久大伊人精品| 国产精品乡下勾搭老头1| 欧美无砖专区一中文字| 国产日韩视频一区二区三区| 一区二区久久久久| www.久久精品| 欧美xxxx在线观看| 性欧美大战久久久久久久久| 成人毛片老司机大片| 91精品蜜臀在线一区尤物| 亚洲色图视频免费播放| 国产精品资源在线观看| 欧美乱熟臀69xxxxxx| 亚洲色图一区二区| 国产高清精品久久久久| 在线不卡中文字幕播放| 亚洲欧美激情小说另类| 国产999精品久久| 日韩精品一区二区三区视频在线观看| 亚洲精品中文字幕乱码三区| 岛国一区二区在线观看| 2017欧美狠狠色| 久久电影网站中文字幕 | 26uuu国产在线精品一区二区| 亚洲一区二区三区激情| 9久草视频在线视频精品| 国产亚洲短视频| 狠狠色综合色综合网络| 欧美浪妇xxxx高跟鞋交| 亚洲一区在线播放| 色哟哟一区二区| 亚洲欧洲精品一区二区三区 | 久久国产尿小便嘘嘘| 7777精品伊人久久久大香线蕉最新版| 亚洲精品一卡二卡| 91美女视频网站| 亚洲免费色视频| 91免费版在线| 一区二区三区国产精华| 色偷偷88欧美精品久久久| 亚洲精品国产无天堂网2021| 91麻豆高清视频|