计算机图象图形处理知识点,图像处理知识点.pdf

图像处理知识点

图像处理知识点介绍

1、Assert 是宏而不是函数

1) assert的作用是现计算表达式 expression ,如果其值为假 (即为0),那么它先向

stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清

单badptr.c:

#include

#include

#include

int main( void )

{

FILE *fp

fp = fopen( "test.txt", "w" ) //以可写的方式打开一个文件,如果不存在就创建一个

同名文件

assert( fp ) //所以这里不会出错

fclose( fp )

fp = fopen( "noexitfile.txt", "r" ) //以只读的方式打开一个文件,如果不存在就打

开文件失败

assert( fp ) //所以这里出错

fclose( fp ) //程序永远都执行不到这里来

return 0

}

MFC 中的代码

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

BOOL bNameValid;

CString strAboutMenu;

bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);

ASSERT(bNameValid);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX,

strAboutMenu);

}

}

解释:MFC 中AEESRT作为断言语句,括号内内容为TRUE,继续执行;为FALSE终止

执行。之后取得 当前窗口的系统菜单,在这个菜单中添加字符串资源 IDS_ABOUTBOX

和 菜单资源IDM_ABOUTBOX,是MFC中一段通用的代码。

2、DECLARE_MESSAGE_MAP()说明

说明:

用户程序中的每个CCmdTarget派生类必须提供消息映射以处理消息。在类

定义的末尾使用

DECLARE_MESSAGE_MAP宏。接着,在定义类成员函数的.CPP文件中,使

用BEGIN_MESSAGE_MAP宏,

每个用户消息处理函数的宏项下面的列表以及END_MESSAGE_MAP宏。

注释:

如果在DECLARE_MESSAGE_MAP之后定义任何一个成员,那么必须为他

们指定一个新存取类型(公

共的,私有的,保护的)。

我觉得他描述得欠妥,我的理解是:

只要有:只要是CCmdTarget派生类,必有消息映射以处理消息,则在类的说

明文件的尾部有

DECLARE_MESSAGE_MAP宏,在类的定义文件中有

BEGIN_MESSAGE_MAP宏和END_MESSAGE_MAP宏以处理

用户消息。

其中BEGIN_MESSAGE_MAP(参数 1,参数2) ,参数 1为该类的类名,参

数2为该类基类的类名。

其中ON_MESSAGE(参数 1,参数2),参数 1为响应的消息,参数2为该

消息对应的处理的函数名。

3、两行语句作用

SetIcon(m_hIcon,TRUE);//Se bigicon 设置大图标

SetIcon(m_hIcon,FALSE);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值