CDC::BitBlt用法

CDC::BitBlt用法

功能说明:

      Bitblt作用将某一内存块的数据传送到另一内存块,前一内存块被称为 "源 ",后一内存块被称为 "目标 "图象程序开发者使用Blit的函数在内存中将某页面上的一幅位图经过一定的变换转移到另一个页面上

 

定义:

BOOL BitBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
DWORD dwRop
);

参数:
hDestDC   As   Long,   //目标设备环境的句柄
x   As   Long,   //目标设备环境的矩形区域的左上角的x坐标
y   As   Long,   //目标设备环境的矩形区域的左上角的y坐标
nWidth   As   Long,   //目标设备环境的矩形区域的宽度值
nHeight   As   Long,   //目标设备环境的矩形区域的高度值
hSrcDC   As   Long,   //源设备环境的句柄
xSrc   As   Long,   //源设备环境的矩形区域的左上角的x坐标
ySrc   As   Long,   //源设备环境的矩形区域的左上角的y坐标
dwRop   As   Long,   //光栅操作符

参数说明:
dwRop参数是光栅操作代码(Rop),它是指源位图与目标位图以及图案刷的颜色值进行布尔运算的方式,以下列出了常用的光栅操作码及含义
BLACKNESS   用黑色填充目标矩形区域.
DSTINVERT   将目标矩形图象进行反相.  
MERGECOPY   将源矩形图象与指定的图案刷(Pattern)进行布尔 "与 "运算.  
MERGEPAINT   将源矩形图形经过反相后,与目标矩形图象进行布尔 "或 "运算.
NOTSRCCOPY   将源矩形图象经过反相后,复制到目标矩形上.
NOTSRCERASE   先将源矩形图象与目标矩形图象进行布尔 "或 "运算,然后再将得图象进行反相.
PATCOPY   将指定的图案刷复制到目标矩形上.
PATINVERT   将指定的图案刷与目标矩形图象进行布尔 "异或 "运算.
PATPAINT   先将源矩形图象进行反相,与指定的图案刷进行布尔 "或 "运算,再与目标矩形图象进行布尔 "或 "运算SRCAND   将源矩形图象与目标矩形图象进行布尔 "与 "运算.
SRCCOPY   将源矩形图象直接复制到目标矩形上.
SRCERASE   将目标矩形图象进行反相,再与源矩形图象进行布尔 "与 "运算.
SRCINVERT   将源矩形图象与目标矩形图象进行布尔 "异或 "运算.
SRCPAINT   将源矩形图象与目标矩形图象进行布尔 "或 "运算.
WHITENESS   用白色填充目标矩形区域.


实例:
void CMainDlg::DrawToolPhotoButton(CDC &dc)
{
CDC memDC ;
memDC.CreateCompatibleDC ( &dc ) ;

CBitmap* pBitmap ; //load all bitmap
CBitmap* pOldBitmap ; //save old bitmap temp

//.............................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;


pBitmap ->LoadBitmap ( IDB_GPS_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;

//将图片COPY到指定的像素位置
dc.BitBlt ( 111,111, 111, 111, &memDC, 0, 0, SRCCOPY ) ;

memDC.SelectObject ( pOldBitmap ) ;

//释放bitmap对象内存
delete pBitmap ;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值