BitBlt类函数

来源:互联网 发布:人工智能 滑坡演化 编辑:程序博客网 时间:2024/05/14 16:35

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));//设置红色为透明色,即过滤掉红色



0 0