VC图像处理
ANTRK
面朝大海,春暖花开
展开
-
对话框颜色设置
<br />给对话框类添加消息响应函数Onpaint()<br />void Dialog::OnPaint() <br />{<br /> CRect rect;<br /> CPaintDC dc(this);<br /> GetClientRect(rect);<br /> dc.FillSolidRect(rect,RGB(122,100,255)); //设置背景,可任意调整<br /> CDialog::OnPaint();原创 2011-05-09 16:19:00 · 606 阅读 · 0 评论 -
VC++图象处理编程(一)
<br />基本概念<br />前言<br />数字图像处理技术与理论是计算机应用的一个重要领域,许多工程应用都涉及到图像处理,一直有一个强烈的愿望,想系统的写一个关于数字图像处理的讲座,由于工作学习很忙,时至今日才得以实现。<br /> “图”是物体透射光或反射光的分布,“像”是人的视觉系统对图的接收在大脑中形成的印象或认识。图像是两者的结合。人类获取外界信息是靠听觉、视觉、触觉、嗅觉、味觉等,但绝大部分(约80%左右)来自视觉所接收的图像信息。图像处理就是对图像信息进行加工处理,以满足人的视觉心理和实转载 2011-04-04 23:48:00 · 798 阅读 · 0 评论 -
线程恢复和挂起
ResumeThread<br /> 线程恢复函数 ResumeThread Function DWORD WINAPI ResumeThread( __in HANDLE hThread); HANDLE hThread 你需要恢复线程的句柄 使用该函数能够激活线程的运行,使CPU分配资源让线程恢复运行 该函数和SuspendThread(hthread),线程挂起函数对应 消耗线程挂起的时间计数,直到时间计数为0,则激活线程原创 2011-06-01 11:25:00 · 595 阅读 · 0 评论 -
事件实现线程同步
1线程函数声明4WaitForSingleObject函数 DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); 参数 hHandle [in]对象句柄。可以指定一系列的对象,如Event、Job、Memory resource notification、Mutex、Process、Semaphore、Thread、Waitable timer等。 当等待仍在挂起状态时,句柄被关闭,那么函数行为是未定义的。原创 2011-06-01 16:09:00 · 877 阅读 · 0 评论 -
对话框如何嵌入到视图客户区中
1、 Dialog *dlg=new Dialog;申明全局变量void CImageprocessView::OnMenuitem32771() ;视类中添加了 菜单栏的消息响应函数{ dlg->Create(IDD_DIALOG1,this);创建非模态对话框 CRect rect; GetClientRect(&rect);//获得客户区大小 ClientToScreen( &rect ); //充满整个客户区 dlg->ShowWindow(SW_SHOW);//显示 dlg->MoveWindo原创 2011-04-27 17:33:00 · 2054 阅读 · 0 评论 -
改变MFC视类背景
<br />首先加载位图,在Insert中添加source选择位图作为Bitmap资源<br /> <br />在视类的OnDraw(CDC* pDC)函数中加入如下代码: <br />void CImageprocessView::OnDraw(CDC* pDC)<br />{<br /> CBitmap bmp;<br />bmp.LoadBitmap(IDB_BITMAP1); ///加载位图 <br />CBrush m_brushBackground; <br />m_brushBac原创 2011-05-09 16:26:00 · 507 阅读 · 0 评论 -
VC应用程序外观
<br />一、改变窗口的大小和标题名<br />BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)<br />{<br /> if( !CFrameWnd::PreCreateWindow(cs) )<br /> return FALSE;<br /> // TODO: Modify the Window class or styles here by modifying<br /> // the CREATESTRUCT cs<br /> cs.cx原创 2011-05-09 15:44:00 · 537 阅读 · 0 评论 -
回调函数
调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。 CPU为此准备了现成的调用指令,调用时可以压栈保护现场,调用结束后从堆栈中弹出现场地址,以便自动返回。借堆栈保护现场真是一项绝妙的发明原创 2011-07-21 17:27:27 · 790 阅读 · 0 评论 -
VC串口
12. 4一个通信演示程序 为了使读者更好地掌握本章的概念,这里举一个具体实例来说明问题。如图12.1所示,例子程序名为Terminal,是一个简单的TTY终端仿真程序。读者可以用该程序打开一个串行口,该程序会把用户的键盘输入发送给串行口,并把从串口接收到的字符显示在视原创 2011-09-22 17:28:55 · 1382 阅读 · 0 评论 -
对话框 设置XP风格
首先在RES目录下建一个文件,命名Master.manifest然后用记事本打开放入 name="Microsoft.Windows.XXXX" processorArchitecture="x86" version="5.1.0转载 2011-07-08 17:14:37 · 597 阅读 · 0 评论 -
CImage类的介绍和使用
<br />CImage类的介绍与使用<br /> <br /> <br />Visual C++的CBitmap类和静态图片控件的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。因此,想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码。 现在,MFC和ATL共享的新类CImage为图像处理提供了许多相应的方法,这使得Visual C++在图像方面的缺憾一去不复返了。原创 2011-04-04 20:17:00 · 768 阅读 · 0 评论 -
CImage类的介绍与使用
<br />CImage类的介绍与使用<br /><br /><br />Visual C++的CBitmap类和静态图片控件的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。因此,想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码。 现在,MFC和ATL共享的新类CImage为图像处理提供了许多相应的方法,这使得Visual C++在图像方面的缺憾一去不复返了。<b原创 2011-04-03 23:39:00 · 819 阅读 · 0 评论 -
对话框显示图片
在用VC开发应用程序的时候,经常要在对话框上显示位图。如果把位图加入资源中,当然是省时省力,但程序却也增肥不少,并且失去了灵活性。而如果你要动态地显示一大堆图片,各个图片大小不一,这岂不…本文就是介绍如何在对话框上显示位图,并且如何让对话框自动适应位图的大小的。 <br /><br />---- VC对位图的操作比较烦琐,要显示一个位图到对话框上去,很麻烦。我在开发的过程中走通了两条路:一是使用Kodak图象编辑控件;二是利用Microsoft提供的例子中的一个类,并稍加改造。两种方法各有优缺点。我把它写下转载 2011-05-14 16:13:00 · 4490 阅读 · 0 评论 -
对话框控件背景、字体颜色设置
1、控件背景颜色每个控件和对话框本身在宣示之前会向其父对话框发送WM_CTLCOLOR消息。如果你在派生类对话框对WM_CTLCOLOR消息进行映射,就可以设定控件的颜色,以及某些控件的背景颜色和字体的颜色。 HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if((nCtlColor==CTLCOLOR_EDIT)&& pWnd->GetDlgCtrlID()==IDC_EDIT1) // 对ID号为I转载 2011-05-19 17:09:00 · 1429 阅读 · 0 评论 -
对话框slider与EditBox关联
1)在VC++ 6.0中新建一个对话框文档的工程。 (2)打开资源管理器,在对话框中放置一个EDIT控件,然后在它旁边放上一个Slider控件。基本的框架已经完成了。 (3)对Slider控件右击,选择“建立类向导”,对刚才的Slider控件定义一个变量m_Slider,类型为CSliderCtrl。(4)在对话框初始化的代码BOOL CMy601Dlg::OnInitDialog(),后添加相应的属性。m_Slider.SetRange(0,255);//设置范围m_Slider.SetTicFreq原创 2011-05-19 21:50:00 · 1646 阅读 · 1 评论 -
CDib类继承基类Object
<br />用VC6.0新建CDib类时,如果基类是CObject,但是对话框中没有提供,解决方法:Generic classDerived from (public)下添加 CObject原创 2011-05-19 22:18:00 · 891 阅读 · 0 评论 -
位图 RGB bmp
1.黑白位图 普通的显示器屏幕是由许许多多点构成的,我们称之为象素。显示时采用扫描的方法:电子枪每次从左到右扫描一行,为每个象素着色,然后从上到下这样扫描若干行,就扫过了一屏。为了防止闪烁,每秒要重复上述过程几十次。例如我们常说的屏幕分辨率为640×480,刷新频率为70Hz,意思是说每行要扫描640个象素,一共有480行,每秒重复扫描屏幕70次。 映象,就是指一个二维的象素矩阵,而位图就是采用位映象方法显示和存储的图象。举个例子,图1.1是一幅普通的黑白位图,图1.2是被放大后的图,图中每个方原创 2011-03-31 23:27:00 · 1121 阅读 · 0 评论 -
GlobalAlloc、GlobalLock、GlobalUnLock
<br />调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 <br />调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 <br />调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 <br />调用GlobalFree函数来释放内存块。您必须传给该函数一个内存句柄。<br />GlobalAlloc <br />函数原型:<br />GlobalAll原创 2011-04-02 11:58:00 · 487 阅读 · 0 评论 -
Dialog---Button处理
<br />1、将编写好的CButtonST类复制到程序文件中,在VC菜单栏中Project-Add to project-files选择BtnST头文件和BtnST文件。<br /> <br />2、将所要编辑的按钮设置为CButtonST类的变量。<br />可以通过这种方法解决,ClassWizad中没有CButtonST类得问题。可以把按钮关联为CButton类的变量m_btn1,在CDialog类的消息映射中,将CButton改为CButtonST即可。在CDialog类的头文件中声明CButto原创 2011-05-23 09:07:00 · 1181 阅读 · 1 评论 -
单文档添加背景图片
<br />1、将图片添加到资源的Bitmap<br />2、给View类添加基于WM_ERASEBKGND消息的擦除背景函数<br />3、<br />BOOL CImageprocessView::OnEraseBkgnd(CDC* pDC) <br />{<br /> // TODO: Add your message handler code here and/or call default<br /> CBitmap bitmap;<br />bitmap.LoadBitmap(IDB_BITMA原创 2011-05-23 10:44:00 · 649 阅读 · 0 评论 -
VC单文档 添加对话框 及其函数
<br />1、在资源中建立对话框<br />2、在ClassView建立对话框类,如Cdlg1,同时自动生成文件dlg1.h,dlg1.cpp<br />3、在ClassView为菜单项建立相应函数<br />4、在建立响应函数所在文件前加入#include 'dlg1.h'<br />5、在相应函数添加代码Cdlg1 ss; ss.DoModal()。<br /> <br /> <br /> <br /> <br />View类中的 成员变量在View()函数中 初始化、<br /> <br /> <b原创 2011-04-03 12:21:00 · 3688 阅读 · 0 评论 -
VC++图象处理编程(二)
<br />图像的基本概念<br />1.采样是指将在空间上连续的图像转换成离散的采样点(即像素)集的操作。由于图像是二维分布的信息,所以采样是在 x轴和y轴两个方向上进行。一般情况下, x轴方向与y轴方向的采样间隔相同。<br />★采样分辨率是指映射到图像平面上的单个像素的景物元素的尺寸。 单位:像素/英寸,像素/厘米 (如:扫描仪的指标 300dpi) <br />2. 量化是将各个像素所含的明暗信息离散化后,用数字来表示。一般的量化值为整数。充分考虑到人眼的识别能力之后,目前非特殊用途的图像均为8转载 2011-04-04 23:56:00 · 14948 阅读 · 0 评论 -
对话框修改左上角的图标和任务栏里图标
在对话框构造函数中 1 CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)2 : CDialog(CTestDlg::IDD, pParent)3 {4 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);5 } 改过后: 1 CTestDlg::CTestDlg(CWnd*原创 2013-09-17 23:04:49 · 1818 阅读 · 0 评论