TransparentBlt、StretchBlt与BitBlt三个函数的区别
来源:互联网 发布:抢月饼javascript 编辑:程序博客网 时间:2024/05/20 06:23
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);
http://hi.baidu.com/pluto455988971/blog/item/6f13614a865365f982025cff.html
- 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函数的用法
- u-boot-2011.06 raise: Signal # 8 错误修正
- 【linux视频教程整套共25个视频】Linux初学者入门教程
- Totem Movie Player是一套在類Unix操作系統上運行的多媒體播放器,也是Ubuntu系統的預設影片播放器
- 【学习Oracle基础】Oracle跨用户导入数据时使用的命令
- DP入门之《LIS~最长不降子序列》
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- mini2440 gdb远程调试
- lucene3 分词器的使用
- A generic error occurred in GDI+. 解决方法
- Field in data file exceeds maximum length
- asp.net C# 验证控件常用的正则表达式
- 天书笔记(1)---逆向C基础
- oracle 修改表名
- HBITMAP、CBitmap与BITMAP的区别与联系及转换