网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
图形擦除技术及编程应用
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式


class CWipeImageDlg : public CDialog
{
// Construction
public:
BLENDFUNCTION m_bf;
CBitmap cross,lantern;
BITMAP bmp;
int bmpWidth,bmpHeight;
CDC dcForCross,dcForLantern;
CDC dc;
BOOL bShowLantern;
………(系统自动生成部分)
};


接着在类向导中加入对WM_INITDIALOG和WM_TIMER消息的响应,其响应代码分别如下:

BOOL CWipeImageDlg::OnInitDialog()
{
………(系统自动生成部分)
// TODO: Add extra initialization here
//初始化全局成员变量
this->bShowLantern=TRUE;
m_bf.BlendOp = AC_SRC_OVER;
m_bf.BlendFlags = 0;
m_bf.SourceConstantAlpha =10;
m_bf.AlphaFormat = 0;
//为节约篇幅,以下代码中略去对操作不成功的处理代码
if(!cross.LoadBitmap(IDB_CROSS))
{
AfxMessageBox("装载位图出错!");
return FALSE;
}
cross.GetBitmap(&&bmp);
lantern.LoadBitmap(IDB_LANTERN);
cross.GetBitmap(&&bmp);
//获得位图的大小信息
bmpWidth=bmp.bmWidth;
bmpHeight=bmp.bmHeight;
dc=this->GetDC();
dcForCross.CreateCompatibleDC(dc);
dcForLantern.CreateCompatibleDC(dc);
//将位图装入设备环境句柄
dcForCross.SelectObject(&&cross);
dcForLantern.SelectObject(&&lantern);
//打开计时器
SetTimer(1000,50,NULL);
return TRUE;
}
void CWipeImageDlg::OnTimer(UINT nIDEvent)
{
//图片透明度每次递增5点
m_bf.SourceConstantAlpha+=5;
//当第一幅图片完全可见之后,显示另一张图片
if(m_bf.SourceConstantAlpha>=200)
{
m_bf.SourceConstantAlpha=10;
//将bShowLantern做为显示标志,确认应该显示哪一张图片 
bShowLantern=!bShowLantern;
}
if(bShowLantern)
{
//按透明度递增的方式显示“吊灯”图片 AlphaBlend(dc,0,0,bmpWidth,bmpHeight,dcForLantern,0,0,bmpWidth,bmpHeight,m_bf);
}
else
{
//按透明度递增的方式显示“背景”图片
AlphaBlend(dc,0,0,bmpWidth,bmpHeight,dcForCross,0,0,bmpWidth,bmpHeight,m_bf);
}
CDialog::OnTimer(nIDEvent);
}


编译说明
由于AlphaBlend函数是在“Msimg32.dll”(对应于Msimg32.lib库文件)中定义的。所以,为了避免LNK2001错误,在编译前应该将“Msimg32.lib”文件加入FadeImage项目,然后运行上面的程序,你会发现,在或明或暗之间,你的两幅位图已经出现在屏幕之上了。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号