BitBlt类函数

CDC::BitBlt()函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。在复制时按1:1的比例进行,无法实现拉伸和压缩。函数原型:

BOOL BitBlt(
   int xDest,      //目标矩形区域左上角x坐标
   int yDest,      //目标矩形区域左上角y坐标
   int nWidth,     //目标(源)矩形区域逻辑宽度
   int nHeight,    //目标(源)矩形区域逻辑高度
   CDC* pSrcDC,    //源设备环境
   int xSrc,       //源矩形区域左上角x坐标
   int ySrc,       //源矩形区域左上角y坐标
   DWORD dwRop     //复制模式
);
CDC::StretchBlt()函数与BitBlt()功能相似,不同的是如果目标矩形区域比源矩形区域大或小,则BitBlt()不会对源矩形区域进行拉伸或压缩, StretchBlt()则多了两个参数来指示源矩形区域大小,在复制时可以自动拉伸和压缩源像素区域,以适合目的矩形区域的尺寸。函数原型:

BOOL StretchBlt(
   int xDest,       //目标矩形区域左上角x坐标
   int yDest,       //目标矩形区域左上角y坐标
   int nWidthDest,  //目标矩形区域逻辑宽度
   int nHeightDest, //目标矩形区域逻辑高度
   CDC* pSrcDC,     //源设备环境
   int xSrc,        //源矩形区域左上角z坐标
   int ySrc,        //源矩形区域左上角y坐标
   int nSrcWidth,   //源矩形区域宽度
   int nSrcHeight,  //源矩形区域宽度
   DWORD dwRop      //复制模式
);

CDC::TransparentBlt()函数与StretchBlt()函数功能相似,不同的是其最后一个参数不是复制模式而是指定透明颜色(要过滤的颜色)。eg:

dc.TransparentBlt(0, 0, 91, 87, 
    m_pBackImg1->m_pBitmapDC, 0, 0, 91, 87, RGB(0xff,0,0));//设置红色为透明色,即过滤掉红色



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值