mfc中读取和显示位图

mfc中读取和显示位图

ID:32399815

大小:58.00 KB

页数:3页

时间:2019-02-04

mfc中读取和显示位图_第1页
mfc中读取和显示位图_第2页
mfc中读取和显示位图_第3页
资源描述:

《mfc中读取和显示位图》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、仅以512×512的.bmp格式的图像为例.在VC++6.0下建立一个基本对话框的工程Special,在对话框加入如下图所示的控件:其中图像控件的ID号是IDC_IMAGE,“特殊效果”按钮的ID是IDOK,“退出”按钮的ID是IDCANCEL.可以在Special::OnInitDialog()函数中对各个控件的位置和大小及对话框的大小进行重新排列:SetWindowPos(NULL,100,100,600,600,0);//改变对话框的大小为600×600GetDlgItem(IDC_IMAGE)->MoveWindow(

2、0,0,512,512,FALSE);//控件大小和图像大小设置成一致的,即512×512GetDlgItem(IDOK)->MoveWindow(30,522,80,30,FALSE);GetDlgItem(IDCANCEL)->MoveWindow(120,522,60,30,FALSE);载入位图资源(一幅512×512的位图),其ID记为IDB_BITMAP1,按照以下方式读取和显示:CBitmapbitmap;bitmap.LoadBitmap(IDB_BITMAP1);CWnd*pwnd=GetDlgItem(ID

3、C_IMAGE);CDC*dc=pwnd->GetDC();CDCMemDC;MemDC.CreateCompatibleDC(dc);MemDC.SelectObject(&bitmap);CRectrect;pwnd->GetClientRect(&rect);dc->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY);//显示位图bitmap.DeleteObject();dc->DeleteDC();MemDC.DeleteDC();pwnd->Relea

4、seDC(dc);pwnd->ReleaseDC(&MemDC);在后面的特效处理中只要把“//显示位图”那一行的代码作相应的改变即可.1水平交错效果原理:将内存设备情境对象中的位图数据拆分成奇、偶扫描线两部分,其中奇数条扫描线由上往下移动,偶数条扫描线则由下往上移动,且两者同时进行。屏幕上的效果为分别由上下两端出现的较淡栅栏图形,逐渐相互靠近,直至整个位图完全清楚。垂直交错效果的实现原理与之类似。用下面的代码替换“//显示位图”那一行的代码.inti,j;for(i=0;i<=512;i+=2){j=i;while(j>0)

5、{dc->StretchBlt(0,j-1,512,1,&MemDC,0,512-(i-j-1),512,1,SRCCOPY);dc->StretchBlt(0,512-j,512,1,&MemDC,0,i-j,512,1,SRCCOPY);j-=2;}Sleep(10);}2雨滴效果原理:将内存设备情境对象中位图数据的最后一条扫描线,顺序地从目标设备中待显示位图的第一条扫描线所在位置移动至最后一条处,并保留此条扫描线在屏幕上移动时留下的轨迹。接着再把MemDC中位图数据的倒数第二条扫描线,顺序地从目标设备中待显示位图的第一条

6、扫描线所在位置移动至倒数第二条处。其余的扫描线依此类推。用下面的代码替换“//显示位图”那一行的代码.inti,j;for(i=0;i<=512;i++){for(j=0;j<=512-i;j++){dc->StretchBlt(0,j,512,1,&MemDC,0,512-i,512,1,SRCCOPY);}Sleep(10);}3百叶窗效果原理:将内存设备情境对象中的位图数据分成若干组,然后分别从第一组到最后一组进行搬移,第一次搬移每组中第一条扫描线到目标设备中待显示位图的相应位置,第二次搬移每组中第二条扫描线,接着第三条

7、、第四条扫描线。用下面的代码替换“//显示位图”那一行的代码.inti,stepi,j;stepi=512/10;for(i=0;i<=stepi;i++){for(j=0;j<10;j++){dc->StretchBlt(0,j*stepi+i,512,1,&MemDC,0,j*stepi+i,512,1,SRCCOPY);}Sleep(20);}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。