MFC函数之BitBlt

// Cgame123View 绘制

void Cgame123View::OnDraw(CDC* pDC)
{
Cgame123Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return; // TODO: 在此处为本机数据添加绘制代码
CRect Rect;
GetClientRect(&Rect);
//屏幕宽度
width = Rect.right - Rect.left;
//屏幕高度
height = Rect.bottom - Rect.top; CDC Dc;
if (Dc.CreateCompatibleDC(pDC) == FALSE)
MessageBox(_T("Can't create DC"));
//在不同位置显示位图
Dc.SelectObject(backmap);
//显示两张位图使它们连接
pDC->BitBlt((width - ) / , , , height, &Dc, , goup - , SRCCOPY);
pDC->BitBlt((width - ) / , , , height, &Dc, , goup, SRCCOPY); //显示位图
CDC dccompatible;
if (dccompatible.CreateCompatibleDC(pDC) == FALSE)
MessageBox(_T("Can't create DC"));
dccompatible.SelectObject(plane); //第一二个参数为位置开始出(左上角),第三四个参数为设备的高宽,第六七个参数为切
pDC->BitBlt(, -, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY);
pDC->BitBlt(, height-, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY);
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, -, , SRCCOPY);
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY);
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY); pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , -, SRCCOPY);
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY);
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY); //正切上,负切下,下上高度为height
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY);
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , -, SRCCOPY); //正切上,负切下,下上高度为height,又一架完整的飞机
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , , SRCCOPY);
pDC->BitBlt(, , m_bm.bmWidth, m_bm.bmHeight, &dccompatible, , -, SRCCOPY); CClientDC dc(this);
} BitBlt 设备上下文绘图有很多种方法。例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制。此外,还可以使用CDC类的位图函数来输出位图到设备上下文中。 BitBlt 用于从原设备中复制位图到目标设备,语法格式如下: BOOLBitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop); x:目标矩形区域的左上角x轴坐标点。 y:目标矩形区域的左上角y轴坐标点。 nWidth:在目标设备中绘制位图的宽度。 nHight:在目标设备中绘制位图的高度。 pSrcDC:源设备上下文对象指针。 xSrc:源设备上下文的起点x轴坐标,函数从该起点复制位图到目标设备。 ySrc:源设备上下文的起点y轴坐标,函数从该起点复制位图到目标设备。 dwRop:光栅操作代码
dwRop有如下选择: BLACKNESS 使用黑色填充目标区域 DSTINVERT 目标矩阵区域颜色取反 MERGECOPY 使用与运算组合原设备矩形区域的颜色和目标设备的画刷 MERGEPAINT 使用或运算将反向的源矩形区域的颜色和目标矩形区域的颜色合并 NOTSRCCOPY 复制源设备区域的反色到目标设备中 NOTSRCERASE 使用或运算组合源设备区域与目标设备区域的颜色,然后对结果颜色取反 PATCOPY 复制源设备当前选中的画刷到目标设备 PATINVERT 使用异或运算组合目标设备选中的画刷和目标设备区域的颜色 PATPAINT 通过或运算组合目标区域当前选中的画刷和源设备区域反转的颜色 SRCAND 使用与运算组合源设备和目标设备区域的颜色 SRCCOPY 直接复制源设备区域到目标设备中 SRCERASE 使用与运算组合目标设备区域的反色与源设备区域的颜色 SRCINVERT 使用异或运算组合源设备区域颜色和目标设备区域颜色 SRCPAINT 使用或运算组合源设备区域颜色和目标设备区域颜色 WHITENESS 使用白色填充目标区域

http://blog.csdn.net/h1023417614/article/details/43086533

MFC函数之BitBlt的更多相关文章

  1. 破解 Rith's CrackMe #1(对比IDA查看动态分析中的MFC函数名)

    系统 : Windows xp 程序 : Rith's CrackMe #1 程序下载地址 :http://pan.baidu.com/s/1gecW9Qr 要求 : 注册机编写 使用工具 : IDA ...

  2. MFC函数—SetRegistryKey

    前言:在用mfc框架编写应用的时候,如果注意,你会发现在App应用类的InitInstance()函数中,初始化时总有一个 SetRegistryKey("String");  这 ...

  3. MFC函数—— CWnd::PreCreateWindow

     CWnd::PreCreateWindow virtual BOOL PreCreateWindow( CREATESTRUCT& cs ); 返回值: 如果要继续窗口的创建过程,则返回非零 ...

  4. StretchBlt函数和BitBlt函数的用法

    StretchBlt和BitBlt都用在双缓冲视图中,用来显示一幅图像 一.StretchBlt 函数从源矩形中复制一个位图到目标矩形,必要时按目标设备设置的模式进行图像的拉伸或压缩.也即是将内存中的 ...

  5. 【MFC】CDC::BitBlt介绍

    CDC::BitBlt介绍 2011-11-04 08:25 19576人阅读 评论(6) 收藏 举报 摘自: http://blog.csdn.net/bberdong/article/detail ...

  6. MFC函数—CSingleDocTemplate

    前提:在InitInstance() 函数的初始化过程中,我们可以看到代码CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDoc ...

  7. MFC函数—CWinApp::LoadStdProfileSettings

    从 InitInstance 成员函数内调用该函数,启用和加载最近使用的(MRU)文件和最后浏览状态的列表.void LoadStdProfileSettings(   UINT nMaxMRU = ...

  8. MFC函数—— CFrameWnd::OnCreateClient

    CFrameWnd::OnCreateClient virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext*pContext); ...

  9. MFC函数——CWnd::OnEraseBkgnd

    CWnd::OnEraseBkgnd afx_msg BOOL OnEraseBkgnd( CDC* pDC ); 返回值: 如果它擦除了背景,则返回非零值:否则返回0. 参数: pDC 指定了设备环 ...

随机推荐

  1. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  2. IOS性能调优系列:Analyze静态分析

    目前关于IOS性能优化的教程较少,决定写一个<IOS性能调优系列>,主要关注与内存泄漏.性能优化.流量和电量分析几个方面. XCode已经提供了非常强大的性能调优工具,结合几个第三方工具和 ...

  3. apk反编译方式

    一.Apk反编译得到Java源代码 下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具. apk反编译工具de ...

  4. PHP环境搭建之PHPstorm9+PHP5开发环境配置

    以前写过一篇zend studio+WAMP的:点这里,个人感觉写得不怎么好可是阅读数却上千了... 不过笔者身边好多人开始用PHPStrom了,所以就简单的写个教程 一.下载安装 PHPStrom下 ...

  5. div流加载

    var hasNext=true;//触发开关,防止多次调用事件 var nScrollHight = 0; //滚动距离总长(注意不是滚动条的长度) var nScrollTop = 0; //滚动 ...

  6. phalcon框架命名空间

    命名空间第一影像就是实际上就相当宏定义,就是需要把一个很长的带有路径的类文件指定一个空间,然后就可直接用简单简写模式 当然如果是外部文件需要首先引入外部文件,如果不引入外部文件还是会报错.一般最会出错 ...

  7. Java语言实现二分法

    二分法是一个简单,高效,并广泛应用的查找方法 import java.util.arrays; public class BinarySearch { public static int rank(i ...

  8. pm2命令,端口查询,mongodb服务启动,nginx服务启动,n模块的使用,搭建nodejs服务器环境,搭建oracledb服务器环境 linux的环境搭建

    pm2命令 pm2 ls //查询pm2 启动的列表 pm2 start app.js //启动文件 pm2 restart app //重启项目 pm2 logs app //监控项目执行日志打印 ...

  9. cocoa pods自己的笔记

    备注:这里只是个人的观点,有的地方也是copy,多多指教,个人笔记,有侵犯你们版权的地方还望海涵!!! 卡主不动 安装流程:http://www.tuicool.com/articles/qaMfuy ...

  10. Ubuntu上CUDA环境搭建

    1.下载CUDA:https://developer.nvidia.com/cuda-toolkit-archive (如果已经安装了N卡驱动,最好用.deb,如果没有安装,可以用.run) 2.根据 ...