VC中BitBlt用法用法

来源:互联网 发布:vb modbus rtu 实例 编辑:程序博客网 时间:2024/06/05 04:06

MSDN中该函数的定义如下:

 CDC::BitBlt 

BOOL BitBlt(int x, inty, intnWidth, int nHeight, CDC*pSrcDC, intxSrc, intySrc, DWORD dwRop);

如果最后一个参数是SRCCOPY(Copies the source bitmap tothe destinationbitmap)大概功能是位图的移动用。它是将一幅位图从一个设备场景复制到另一个,源和目标DC相互间必须兼容。

应用于内存绘图时,

pDC是一个已经到的设备上下文的情况下,数据绘图的一个方法,代码如下:

 CBitmap memBitmap;//内存绘图
 CBitmap* pOldBmp = NULL;
 
 memDC.CreateCompatibleDC(pDC);   //创建内存绘图设备          
 memBitmap.CreateCompatibleBitmap(pDC,rect.right,rect.bottom);
 pOldBmp =memDC.SelectObject(&memBitmap);
 memDC.BitBlt(rect.left,rect.top,rect.right,rect.bottom,pDC,0,0,SRCCOPY);
 
 BgdMethod(&memDC,rect);  //绘制背景
 CurveMethod(&memDC);

 pDC->BitBlt(rect.left,rect.top,rect.right,rect.bottom,&memDC,0,0,SRCCOPY);//把内存绘图拷贝到屏幕
 
 memDC.SelectObject(pOldBmp);
 memDC.DeleteDC();
 memBitmap.DeleteObject();
 ReleaseDC(pDC);

 

BOOL CreateCompatibleBitmap( CDC* pDC, int nWidth, int nHeight);

用于初始化一个与pDC指定的设备上下文兼容的位图。位图与指定的设备上下文具有相同的颜色位面数或者相同的像素数。