TransparentBlt、StretchBlt与BitBlt三个函数的区别
来源:互联网 发布:mac 重做系统 编辑:程序博客网 时间:2024/05/09 00:24
BOOL StretchBlt( int x, //指定目的矩形区域左上角的X坐标 int y, //指定目的矩形区域左上角的Y坐标 int nWidth, //指定目的矩形区域的宽度 int nHeight, //指定目的矩形区域的高度 CDC* pSrcDC, int xSrc, //指定源矩形区域左上角的X坐标 int ySrc, //指定源矩形区域左上角的Y坐标 int nSrcWidth, //指定源矩形区域的宽度 int nSrcHeight, //指定源矩形区域的高度 DWORD dwRop //此参数参考MSDN,SRCCOPY类型为直接拷贝); //此函数将一个位图资源从一个矩形区域拷贝到另一个矩形区域,即缩放位图
BOOL TransparentBlt( int xDest, int yDest, int nDestWidth, int nDestHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, UINT clrTransparent ); //此函数同样具有缩放功能,但此函数最后一个参数用来指定作为透明色的RGB;
BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop ); //此函数同样用来拷贝位图资源,但不具备缩放功能
用法举例:
CPaintDC dc(this);
CBitmap BackBMP;
BackBMP.LoadBitmapW(IDB_BITMAP1);
BITMAP bm;
BackBMP.GetBitmap(&bm);CDC ImageDC;
ImageDC.CreateCompatibleDC(&dc);
CBitmap* pOldImageBMP = ImageDC.SelectObject(&BackBMP);
dc.StretchBlt(0, 0, bm.bmWidth+15, bm.bmHeight+15, &ImageDC, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
ImageDC.SelectObject(pOldImageBMP);
CBitmap ForeBMP;
ForeBMP.LoadBitmapW(IDB_BITMAP2);
ForeBMP.GetBitmap(&bm);pOldImageBMP = ImageDC.SelectObject(&ForeBMP);
dc.TransparentBlt(0, 0, bm.bmWidth+15, bm.bmHeight+15, &ImageDC, 0, 0, bm.bmWidth, bm.bmHeight, RGB(255, 255, 255));
ImageDC.SelectObject(pOldImageBMP);
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- TransparentBlt、StretchBlt与BitBlt三个贴图函数的区别
- TransparentBlt、StretchBlt与BitBl 的区别
- BitBlt StretchBlt TransparentBlt
- bitblt 与 stretchblt 的使用区别
- AlphaBlend/StretchBlt/BitBlt 三个函数介绍
- BitBlt和StretchBlt的区别
- BitBlt 和StretchBlt的区别
- BitBlt和StretchBlt的区别
- BitBlt和StretchBlt的区别
- BitBlt函数和StretchBlt函数的使用
- StretchBlt函数和BitBlt函数的用法
- StretchBlt函数和BitBlt函数的用法
- 软件测试用例设计方法的学习
- 望(Dream-coastline 5.0 preview for Godbea)
- 跨国公司面试题-简单的思路
- Linux结束执行中的进程
- 常用数学符号读法大全
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- C#实现目标路径下文件递归的类
- C++中指针和引用的区别
- setpixel,getpixel效率太低的问题
- 老板法则
- Array和ArrayList的区别
- Centos5下搭建tomcat服务及java应用的部署和管理
- 判断浏览器类型
- 邮件发送