DrGraph软件升级:视频处理
2013-04-25 23:40
295 查看
简要说明 | 视频处理 | 提交人 | DrGraph 2013/04/25 |
处理状态 | 处理完毕 | 同步状态 | |
现象 | 视频模块 | ||
定位及调试过程 | 选项配置 选项配置中,首先列出视频相关参数:视频设备、视频来源、分辨率、类型、渲染等 读入配置 void __fastcall TMainForm::LoadAndApplyConfig() { // 重新读取配置文件并进行各种配置工作 // 因为只调用LoadConfig一次,所以把列表内容填充工作放在此处 LoadResources(); OptionForm->LoadConfig(FConfigXml); // 由OptionForm读取得到所有的选项配置 CBW_PREVENT_CHANGE_LOOP; RefreshByOption(); // 根据选项窗口进行刷新 } 应用配置 更新本机摄像头列表 if (OptionForm->ComboBox_VideoDevices->Items->Count > 1) { Button_OpenVideo->ButtonStyle = bsDropDown; Button_OpenVideo->DropDownMenu = PopupMenu_Video; for (int i = 0; i < OptionForm->ComboBox_VideoDevices->Items->Count; ++i) { TdxBarLargeButton * button = new TdxBarLargeButton(this); button->Caption = OptionForm->ComboBox_VideoDevices->Items->Strings[i]; button->LargeImageIndex = 1; button->OnClick = ChooseVideo; PopupMenu_Video->ItemLinks->Add()->Item = button; } } else Button_OpenVideo->ButtonStyle = bsChecked; 即多于一个摄像头时,相应按钮效果 而只有一个摄像头时,相应按钮效果 单击开启按钮,切换开启状态操作,并保存 void __fastcall TMainForm::Button_OpenVideoClick(TObject *Sender) { Button_OpenVideo->Down = !Button_OpenVideo->Down; VideoVisibleFlag = Button_OpenVideo->Down; VideoGrabber->Visible = VideoVisibleFlag; if (VideoVisibleFlag) { VideoGrabber->StartPreview(); SetWorkMode(wmVideo); } else VideoGrabber->StopPreview(); FConfigXml->RootNode->AddBoolAttribute("videovisible", VideoVisibleFlag); FConfigXml->Save(); } 则对应的开启与关闭状态: 选择摄像头 TdxBarLargeButton * button = dynamic_cast<TdxBarLargeButton*>(Sender); if (!button) return; VideoVisible = true; // 缺省视频可见 UnicodeString videoSource = button->Caption; if (SameText(OptionForm->ComboBox_VideoDevices->Text, videoSource)) return; // 以下为缺省自动操作 OptionForm->ComboBox_VideoSources->ItemIndex = 0; // 用户手动选择摄像头,则视频来源自动切换到摄像头模式 THelper::DefaultSelect(OptionForm->ComboBox_VideoSources); // 更新分辨率 THelper::DefaultSelect(OptionForm->ComboBox_VideoDevices, videoSource); // 选择设备,更新VideoDevice RefreshByOption(); 检测USB口摄像头插拔 UnicodeString info = THelper::FormatString("系统检测到%s摄像头 %s", IsDeviceArrival ? L"插入" : L"拔下", DeviceName.w_str()); THelper::MessageBox(info, false); if (IsDeviceArrival) OptionForm->ComboBox_VideoDevices->Items->Add(DeviceName); else OptionForm->ComboBox_VideoDevices->Items->Delete (OptionForm->ComboBox_VideoDevices->Items->IndexOf(DeviceName)); THelper::DefaultSelect(OptionForm->ComboBox_VideoDevices); // 如果拔掉,则会选择第一个 RefreshByOption(); 复位 所有参数回复初始状态 |
相关文章推荐
- DrGraph软件升级:新建项处理
- DrGraph软件升级:窗口背景色处理
- DrGraph软件升级:处理BUG_退出程序出错
- 各种与视频编解码以及视频图像处理的应用相关的新技术,新方法,各种软件开发相关的算法,思想。
- VirtualDub - 开源视频捕捉及线性处理软件
- 15款业界公认的最佳视频处理软件
- 视频处理软件有那些,优缺点介绍
- 15款的视频处理软件免费下载
- 小技巧:不用任何媒体处理软件进行视频压缩
- 分享一款很好的视频处理软件 会声会影X8(huishenghuiyingx8-trial_x64)
- DrGraph软件升级:实现最近使用文档功能
- 打造Ubuntu媒体中心 —— 10款顶级视频处理软件推荐
- DrGraph软件升级:Quick Access Toolbar
- DrGraph软件升级:工程优化1
- 视频处理软件BB FlashBack v5.25.0发布,修复和改进部分功能
- Luminar 2018 for Mac中文版(图像后期处理软件)附视频教程 V1.0.2破解版
- 牛人博客链接--高级算法、智能视频、嵌入式软件、DSP应用开发,algorithem,c++,c,视频处理,图像处理
- 【多媒体处理软件推荐】视频去水印软件下载:
- DrGraph软件升级:WIN7下的程序BUG修正
- Aviutl 视频处理软件