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函数

    1.MFC常用函数:WinExec()ExitWindowsEx()GlobalMemoryStatus()GetSystemInfo()GetSystemDirectory()GetWindowsD ...

  7. MFC函数—CSingleDocTemplate

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

  8. MFC函数—CWinApp::LoadStdProfileSettings

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

  9. MFC函数—— CFrameWnd::OnCreateClient

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

随机推荐

  1. 添加网页ico

    <link rel="Shortcut Icon" href="/favicon.ico" />

  2. Android 编程下的 Secret Code

    我们很多人应该都做过这样的操作,打开拨号键盘输入 *#*#4636#*#* 等字符就会弹出一个界面显示手机相关的一些信息,这个功能在 Android 中被称为 Android Secret Code, ...

  3. JDK QUEUE队列

    Java  Queue基础 Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构. offer,add区别: 一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被 ...

  4. 【随笔】android开发的学习路线

    第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和StringBuffer的使用.正则表达式. 3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化 ...

  5. BZOJ3024 : [Balkan2012]balls

    问题1: ans=max(sum[n]-(sum[i]-sum[j-1])+a[i]*(i-j+1)) =max(sum[n]-sum[i]+sum[j-1]+a[i]*(i+1)-a[i]*j) = ...

  6. BZOJ2707 : [SDOI2012]走迷宫

    首先求出SCC缩点,E[T]=0,按拓扑序计算 对于无边连出的块,如果不是T所在块,则称该块是死路块 对于一个块,如果其中的点连出的边是死路块,则它也是死路块 否则对于每块进行高斯消元求出期望 如果S ...

  7. HDU 1074 (状态压缩DP)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:有N个作业(N<=15),每个作业需耗时,有一个截止期限.超期多少天就要扣多少 ...

  8. TYVJ P1086 Elevator Label:dp

    背景 广东汕头聿怀初中 Train#2 Problem4 描述 现有N种箱子,每种箱子高度H_i,数量C_i.现选取若干箱子堆成一列,且第i种箱子不能放在高度超过A_i的地方.试求最大叠放高度. 输入 ...

  9. java正则表达式过滤html标签

    import java.util.regex.Matcher; import java.util.regex.Pattern; /** * <p> * Title: HTML相关的正则表达 ...

  10. Java导出Highcharts生成的图表为图片源码

    本文转载自:http://blog.csdn.net/dengsilinming/article/details/7352054 需要的jar包: 需要的js文件:(可以通过http://www.hi ...