2023年7月17日发(作者:)
在MFC中显示一幅图像的步骤:
1.创建一个位图对象CBitmap bitmap;
2.载入位图 tmap();
3.创建一个矩形对象 CRect rect;获取客户区矩形窗口 getwindrect
4.创建客户区DC并且获取客户区DC
CCLientdc dc(this);
5.创建设备描述表:CDC memdc;
6.创建兼容DC ompatibleDC(关联客户DC)
7.创建一个位图结构体用来获取要显示的位图信息
BITMAP bm;
map(&bm);
8.选择对象
Cbitmap *poldbitmap=object(&bitmap);
9.显示位图
用这个函数:
BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc,
DWORD dwRop );
或者用这个函数
StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc,
int nSrcWidth, int nSrcHeight, DWORD dwRop );
10.再次选择位图
object(&pOldbitmap); 下面是整个程序:
先创建一个MFC程序,单文档的,其他的都默认设置。
点击完成即可 点击插入或者按下ctral+r,接着插入位图资源
选择要显示的位图资源
接着进入OnDraw 函数,编程
添加如下代码:
void CPicturedlgView::OnDraw(CDC* pDC)
{
CPicturedlgDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CBitmap bitmap;//创建位图对象
tmap(IDB_BITMAP1);//载入位图资源
CRect rect;
GetWindowRect(&rect);//创建一个矩形结构体,获取显示窗口的边界数据,传递给rect结构体
///////////创建客户区DC
CClientDC dc(this);
////////创建暂存DC
CDC memdc;
//////创建兼容DC
CompatibleDC(&dc);
BITMAP bm;//////创建位图结构体bm;
map(&bm);/////////获取位图信息
CBitmap *pOldbitmap=Object(&bitmap);////////选择位图
/////////显示位图 etchBltMode(COLORONCOLOR);
hBlt(5,5,-10,,&memdc,0,0,h,ht,SRCCOPY);
Object(pOldbitmap);///////在此选择位图
}
运行后显示如下:
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689608863a270295.html
评论列表(0条)