DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年12月24日

摘要: 本文转载自:http://hi.baidu.com/xiaocuiman/blog/item/6e267c2bc4b1883f5243c108.html1.对OpenCV的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法;然后将图像格式和矩阵运算,然后将各个算法的实现函数。我用它来做了一个Harris角点检测器和Canny边缘检测器,总共就花了一个小时(第一次用OpenCV)。而且该库显示图像极其方便,两句话就可以。但该库似乎不大稳定,对32F和16S、8U的图像数据支持上bug重重。我用 cv 阅读全文
posted @ 2013-12-24 20:46 DoubleLi 阅读(442) 评论(0) 推荐(0)

摘要: 在codeproject发现一个很强大的按钮皮肤类,之前的版本有内存泄露,但是作者已经修复了,原文网址是:http://www.codeproject.com/KB/buttons/cxskinbutton.aspx。它支持六种位图,分别是正常、按下、滑过、失效、焦点和遮掩位图。根据原文内容,一般用法如下:1.加入xSkinButton.cpp 和xSkinButton.h 到工程;2.在按钮控件需要定义的地方加入xSkinButton.h头文件;3.为按钮添加一个CxSkinButton类型的变量;4,在资源视图添加所需要的位图:NORMAL bitmap: 默认按钮图片.DOWN bitm 阅读全文
posted @ 2013-12-24 20:43 DoubleLi 阅读(1057) 评论(0) 推荐(0)

摘要: 我们知道VS2008SP1之后,MFC就多了一个功能包,可以快速的建立一个ribbon的界面,视觉样式可以在office 2007蓝、黑等颜色之间切换,这对于单文档/多文档做界面非常方便,而且也蛮好看的。但是,引入的功能包不对对话框进行界面美化,除了多一些控件外,外观没变。于是就想能不能利用单文档的CFormView来模拟对话框,进行自己来实现对话框的美化呢,下面以单文档为例:1.单文档 ,“项目类型”选择Visual Studio 视觉样式和颜色 选择office2007 (蓝色主题);2.用户界面功能,选中“使用菜单栏和工具栏”;3.高级功能里面,所有的“高级框架窗格”都不要选择;4.生成 阅读全文
posted @ 2013-12-24 20:42 DoubleLi 阅读(769) 评论(0) 推荐(0)

摘要: 在用VC做有关图表的时候,感觉不是那么方便,在codeproject找到一个柱形图的实用类,原文地址为:http://www.codeproject.com/KB/miscctrl/CBarChart.aspx。它可以很快速的生成柱状图,并且支持输出位图、支持打印、支持从数据库导入。原文章的类为多字节的,我自己改为了可适应多字节和Unicode版本的,如果有错的话,还请使用原文章所给出的源码。下面介绍下基本步骤:1.添加BarChart.cpp和BarChart.h工程;2.在需要使用的地方添加头文件#include"BarChart.h"3.定义一个CBarChart的变 阅读全文
posted @ 2013-12-24 20:40 DoubleLi 阅读(1141) 评论(0) 推荐(0)

摘要: 有时候,我们需要在列表框ListBox中插入带图标的文字项,这就需要自己派生一个类出来了,网上的一个CIconListBox类还不错,网站http://www.codeguru.com/Cpp/controls/listbox/article.php/c4749/这里介绍下使用方法,源代码我有改动,环境Visual Studio 2008 SP1:1.基于对话框的工程,名称为IconListBoxTest;2.拖动控件到对话框上,按下图所示排列:3.导入IconListBox.cpp和IconListBox.h两个文件到工程,在对话框头文件包含#include"IconListBox 阅读全文
posted @ 2013-12-24 20:38 DoubleLi 阅读(696) 评论(0) 推荐(0)

摘要: SonicUI是一个GUI引擎,提供了一些简单的UI组件实现高效率的UI效果,例如:自绘按钮、异形窗体、动画、超链接和图像操作方法。此项目作者开源到CodeProject,地址为:http://www.codeproject.com/KB/GDI/SonicUI.aspx。下载源代码编译动态库版本和静态库版本,在此我以Visual Studio 2008 SP1编译,也打包到下面的下载地址里面。下面介绍下SonicUI在MFC中的使用,如果有错误之处,还请指出。1.新建一个基于对话框、使用Unicode库的工程,工程名称SonicUITest;2.复制ISonicUI.h文件到工程目录下,添加 阅读全文
posted @ 2013-12-24 20:37 DoubleLi 阅读(599) 评论(0) 推荐(0)

摘要: Cppcheck是一个C/C++代码分析工具,只检测那些编译器通常无法检测到的bug类型。官方上建议让编译器提供尽量多的警告提示:1.使用Visual C++的话,应使用警告等级42.使用GCC的话,参看Warning options - using GCC官方地址:http://cppcheck.sourceforge.net/当前版本:1.54 for windows安装界面如下:安装完后,双击cppcheckgui.exe启动其GUI程序:工具栏第一个按钮可以添加检测的目录,但是这里不支持中文路径。测试官方的例子,新建一个文件file1.c,内容如下:intmain(){chara[10 阅读全文
posted @ 2013-12-24 20:34 DoubleLi 阅读(2940) 评论(0) 推荐(1)

摘要: Visual Leak Detector是一款免费的、健全的、开源的Visual C++内存泄露检测系统。相比Visual C++自带的内存检测机制,Visual Leak Detector可以显示导致内存泄露的完整内存分配调用堆栈。主页地址:http://vld.codeplex.com/旧版地址:http://www.codeproject.com/Articles/9815/Visual-Leak-Detector-Enhanced-Memory-Leak-Detectio 下载Visual Leak Detector,当前版本2.2.3,在Visual C++ IDE的"工具 阅读全文
posted @ 2013-12-24 20:33 DoubleLi 阅读(516) 评论(0) 推荐(0)

摘要: 分类:2.4 线程/图形学2010-04-30 22:141878人阅读评论(0)收藏举报文档null这是一个绘制直线的简单绘图程序,能过实现动态轨迹画线,在拖动时产生临时线来表示可能画出的直线效果。首先:建立一个单文档程序,名称为Demo然后:在视图类的声明文件里面加入数据成员classCDemoView:publicCView{//········protected:intm_Dragging;HCURSORm_HCross;CPointm_PointOld;CPointm_PointOrigin;// 阅读全文
posted @ 2013-12-24 20:31 DoubleLi 阅读(712) 评论(0) 推荐(0)

摘要: 工作线程通常用来执行一些后台任务,如:数据计算、后台杀毒等等。因为不需要创建窗口和处理用户消息,编写比较容易,在程序中只要调用AfxBeginThread函数就可以创建并启动一个工作线程了。AfxBeginThread的原型如下:CWinThread*AfxBeginThread(AFX_THREADPROCpfnThreadProc, //指向控制函数的地址LPVOIDpParam, //指向传递给控制函数的参数intnPriority/*=THREAD_PRIORITY_NORMAL*/, //指定线程的优先级UINTnStackSize/*=0*/, //指定堆... 阅读全文
posted @ 2013-12-24 20:30 DoubleLi 阅读(3478) 评论(0) 推荐(2)

摘要: 用户界面线程在运行时会有一个窗口界面和与其相对应的窗口函数,所以它可以通过响应消息来和用户进行交互。AfxBeginThread函数原型如下:CWinThread*AfxBeginThread(CRuntimeClass*pThreadClass,//从CWinThread派生的RUNTIME_CLASS类intnPriority/*=THREAD_PRIORITY_NORMAL*/,//指定线程的优先级UINTnStackSize/*=0*/,//定义新线程的堆栈大小DWORDdwCreateFlags/*=0*/,//为控制线程创建的附加标志LPSECURITY_ATTRIBUTESlpS 阅读全文
posted @ 2013-12-24 20:29 DoubleLi 阅读(6179) 评论(1) 推荐(1)

摘要: 系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:建立一个CDialogEx的对话框 我们知道在VS2008SP1引进了BCG第三方控件,可以使MFC界面编程容易些,但是关于这方面的资料并不多。可能是我使用的系统因素,在建立对话框时,选择“生成的类”基于CDialogEx后,发现代码并没有把创建的对话框派生CDialogEx,而还是派生自CDialog。所以我们只能手动改之。对于一个新建立的对话框,这里我建立的名字为Test工程,我们开始进行以下步骤:1. 在TestDlg.h中,修改以下地方:class CTestDlg : publicCDialo 阅读全文
posted @ 2013-12-24 20:27 DoubleLi 阅读(1022) 评论(0) 推荐(0)

摘要: 系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:在模态或非模态对话框中使用Tab Control控件,及引申在单/多文档中使用查阅MSDN文档,对于创建Tab Control控件,MSDN上说明如下:To useCTabCtrldirectly in a dialog box1.In the dialog editor, add a Tab Control to your dialog template resource. Specify its control ID.2.Use the Add Member Variable Wizard to a 阅读全文
posted @ 2013-12-24 20:25 DoubleLi 阅读(7192) 评论(0) 推荐(0)

摘要: 操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:实现无框移动 所谓的无标题栏对话框,是基于对话框的工程,对话框属性Border设置为None,对话框如下所示:为对话框添加左键点击事件,代码如下:[cpp]view plaincopy voidCPlayerDlg::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:在此添加消息处理程序代码和/或调用默认值SendMessage(WM_SYSCOMMAND,0xF012,0);CDialog::OnLButtonDown(nFlags,point);}完成后,就可以拉动 阅读全文
posted @ 2013-12-24 20:21 DoubleLi 阅读(1199) 评论(0) 推荐(0)

摘要: 操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为静态控件添加事件,如:STATIC、Picture Control等等 有时候我们找到一个图片,为对话框背景添加了图片,我们需要在某个位置令其可以单击,如下两图所示:首先:修改静态控件属性Notify为True,修改控件ID号,一定要修改,在这里我改为IDC_RIGHT,右键为静态控件添加左键单击事件,在这里我在代码里面添加了弹出消息对话框以作测试,效果如下:虽然不是动态的按钮,但是效果蛮不错的。 阅读全文
posted @ 2013-12-24 20:20 DoubleLi 阅读(397) 评论(0) 推荐(0)

摘要: 操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为滑动控件设置背景透明 经常在编写有背景的程序时,滑动控件Slider Control看起来与背景十分不合,我们可以从CSliderCtrl派生自己的类出来,以实现这个功能。下面是效果图:所参考的资料来自:http://dev.yesky.com/179/2284679.shtml派生类下载:http://download.csdn.net/source/1851812使用时,添加滑动控件后,为其添加控件变量,然后将其改为如下:[cpp]view plaincopy CmySliderControlm_sli 阅读全文
posted @ 2013-12-24 20:19 DoubleLi 阅读(817) 评论(0) 推荐(0)

摘要: 系统环境:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为对话框设置背景颜色、控件颜色 既然MFC对话框不好开发,那么现在我们来开始美化我们的对话框。为对话框设置背景颜色、控件颜色等等。对话框背景颜色:网上流传有四种方法(可能还不止),在VC++2008SP1测试后,发现只有三种可以使用了,其中第一种被废弃了。以下是四种方法:方法一(失效):调用CWinApp类的成员函数SetDialogBkColor来实现。 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对 话框设置为蓝色背景和红色文本,步骤如下: ① 新建一个基于Dial 阅读全文
posted @ 2013-12-24 20:17 DoubleLi 阅读(700) 评论(0) 推荐(0)

摘要: Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。 Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。boost 在一些播放软件和音效中指增强,比如Bass Boost,低音增强。1.下载最新版的BOOST库,当前最新版为 阅读全文
posted @ 2013-12-24 20:07 DoubleLi 阅读(389) 评论(0) 推荐(0)

摘要: 这下有了CImage类,处理其他类型的图片不再寻找第三方类库了。加载到对话框背景的代码如下: //从资源里载入背景JPEG图片 HRSRC hRsrc=::FindResource(AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_JPG1), _T("JPG")); if(hRsrc!=NULL) { HGLOBAL hImgData=::LoadResource(AfxGetResourceHandle(),hRsrc); if(hImgData==NULL) ... 阅读全文
posted @ 2013-12-24 20:02 DoubleLi 阅读(485) 评论(0) 推荐(0)

摘要: 系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:实现VC单文档、对话框程序显示图片效果CImage是VC.NET中定义的一种MFC/ATL共享类,也是ATL的一种工具类,它提供增强型的(DDB和DIB)位图支持,可以装入、显示、转换和保存多种格式的图像文件,包括BMP、GIF、JPG、PNG、TIF等。CImage是一个独立的类,没有基类。(CImage类是基于GDI+的,从VC.NET起引进,VC 6.0中没有。)ATL(Active Template Library,活动模板库)是一套基于模板的 C++ 类,用以简化小而快的COM对象的编写。为了 阅读全文
posted @ 2013-12-24 20:00 DoubleLi 阅读(967) 评论(0) 推荐(0)