MFC (7)在pic控件里加载一幅图片源码
2013-10-22 12:54
330 查看
CBitmap m_bmp; HBITMAP hBitmap5; hBitmap5 = (HBITMAP)::LoadImage( NULL, "res//0x00304EE6.bmp", // 图片全路径 IMAGE_BITMAP, // 图片格式 0,0, LR_LOADFROMFILE|LR_CREATEDIBSECTION); // 注意LR_LOADFROMFILE //获取加载的位图信息 m_bmp.Attach(hBitmap5); DIBSECTION ds; BITMAPINFOHEADER &bminfo = ds.dsBmih; m_bmp.GetObject(sizeof(ds),&ds); int cx = bminfo.biWidth; //获取图像宽度 int cy = bminfo.biHeight; //获取图像高度 //调整图像大小符合空间要求,使得其正好显示一张图片 CRect rect; GetDlgItem(IDC_STATIC_1)->GetWindowRect(&rect); ScreenToClient(&rect); GetDlgItem(IDC_STATIC_1)->MoveWindow(rect.left,rect.top,cx,cy,true); //调整大小 CPaintDC dc2(GetDlgItem(IDD_VINCENT1)); CRect rcclient; GetDlgItem(IDC_STATIC_1)->GetClientRect(&rcclient); CDC memdc; memdc.CreateCompatibleDC(&dc2); CBitmap bitmap; bitmap.CreateCompatibleBitmap(&dc2,rcclient.Width(),rcclient.Height()); memdc.SelectObject(&bitmap); CWnd::DefWindowProc(WM_PAINT,(WPARAM)memdc.m_hDC,0); CDC maskdc; maskdc.CreateCompatibleDC(&dc2); CBitmap maskbitmap; maskbitmap.CreateBitmap(rcclient.Width(),rcclient.Height(),1,1,NULL); maskdc.SelectObject(&maskbitmap); maskdc.BitBlt(0,0,rcclient.Width(),rcclient.Height(),&memdc,rcclient.left,rcclient.top,SRCCOPY); CBrush brush; brush.CreatePatternBrush(&m_bmp); dc2.FillRect(rcclient,&brush); dc2.BitBlt(rcclient.left,rcclient.top,rcclient.Width(),rcclient.Height(),&memdc,rcclient.left,rcclient.top,SRCPAINT);
相关文章推荐
- MFC (7)在pic控件里加载一幅图片源码
- MFC picture控件加载透明png图片
- MFC-----在MFC中使用Picture控件加载任意图片
- MFC PICTURE控件加载JPG图片
- mfc中图片控件上加载PNG图片
- MFC图片控件PictrueControl用法
- MFC图片控件静态加载bitmap图片
- MFC picture 控件加载图片
- MFC 图片控件图片加载以及鼠标移动事件和鼠标点击事件
- MFC 对话框载入背景图片-控件加载图片
- MFC-----在MFC中使用Picture控件加载任意图片
- MFC 基于对话框的图片控件(picture)动态加载.bmp图片并显示
- MFC CImage 类加载图片显示到控件
- MFC中Pictrue控件显示图片+播放视频
- MFC---static控件加载图片
- MFC 下给控件加载jpeg等非bmp图片的一种简单方法
- Volley源码解析(三)——图片加载
- 仿酷狗音乐播放器开发日志二十——换肤功能背景图片控件的制作(附源码)
- MFC加载背景图片后变模糊的原因
- DirectFB实例1--加载一幅图片