Bitblt函数(API)祥解

转载 2004年07月12日 09:32:00

Bitblt作用将某一内存块的数据传送到另一内存块,前一内存块被称为"源",后一内存块被称为"目标"图象程序开发者使用Blit的函数在内存中将某页面上的一幅位图经过一定的变换转移到另一个页面上
原形说明:
Declare Function BitBlt Lib "gdi32" Alias "BitBlt"(ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
hDestDC As Long, //目标设备环境的句柄
x As Long, //目标设备环境的矩形区域的左上角的x坐标
y As Long, //目标设备环境的矩形区域的左上角的y坐标
nWidth As Long, //目标设备环境的矩形区域的宽度值
nHeight As Long, //目标设备环境的矩形区域的高度值
hSrcDC As Long, //源设备环境的句柄
xSrc As Long, //源设备环境的矩形区域的左上角的x坐标
ySrc As Long, //源设备环境的矩形区域的左上角的y坐标
dwRop As Long, //光栅操作符
dwRop参数是光栅操作代码(Rop),它是指源位图与目标位图以及图案刷的颜色值进行布尔运算的方式,以下列出了常用的光栅操作码及含义
BLACKNESS 用黑色填充目标矩形区域.
DSTINVERT 将目标矩形图象进行反相.
MERGECOPY 将源矩形图象与指定的图案刷(Pattern)进行布尔"与"运算.
MERGEPAINT 将源矩形图形经过反相后,与目标矩形图象进行布尔"或"运算.
NOTSRCCOPY 将源矩形图象经过反相后,复制到目标矩形上.
NOTSRCERASE 先将源矩形图象与目标矩形图象进行布尔"或"运算,然后再将得图象进行反相.
PATCOPY 将指定的图案刷复制到目标矩形上.
PATINVERT 将指定的图案刷与目标矩形图象进行布尔"异或"运算.
PATPAINT 先将源矩形图象进行反相,与指定的图案刷进行布尔"或"运算,再与目标矩形图象进行布尔"或"运算SRCAND 将源矩形图象与目标矩形图象进行布尔"与"运算.
SRCCOPY 将源矩形图象直接复制到目标矩形上.
SRCERASE 将目标矩形图象进行反相,再与源矩形图象进行布尔"与"运算.
SRCINVERT 将源矩形图象与目标矩形图象进行布尔"异或"运算.
SRCPAINT 将源矩形图象与目标矩形图象进行布尔"或"运算.
WHITENESS 用白色填充目标矩形区域.

BitBlt用法

在VC中显示位图常用取BitBlt()方法,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。虽然此方法的功能是这样的,但是我一直没有理解网上一些例子代码,不知道其用到的各DC和位...
  • daichanglin
  • daichanglin
  • 2007年07月03日 09:42
  • 23124

BitBlt介绍

设备上下文绘图有很多种方法。例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制。此外,还可以使用CDC类的位图函数来输出位图到设备上下文中。 BitBlt 用于从原设备中复制位图到目标设备...
  • bberdong
  • bberdong
  • 2011年11月04日 08:25
  • 43176

MFC函数之BitBlt

// Cgame123View 绘制 void Cgame123View::OnDraw(CDC* pDC) { Cgame123Doc* pDoc = GetDocument(); ASSER...
  • h1023417614
  • h1023417614
  • 2015年01月24日 17:00
  • 9377

浅谈MFC中BitBlt与StretchDIBits的差别

一、基础知识 1.BitBlt BitBlt 用于从原设备中复制位图到目标设备,语法格式如下: BOOL BitBlt( HDC hdcDest, // handle to destin...
  • baidu_37503452
  • baidu_37503452
  • 2017年06月20日 11:21
  • 335

BitBlt

图象合成是通过对两张图片像素值的运算,以产生一张新的含有两张图片信息的图象,在多媒体编程中有广泛的应用。图象合成的一个典型的例子就是制作透明位图,在许多精灵动画的实现中都有应用。 精灵动画 ...
  • Yes_life
  • Yes_life
  • 2011年09月06日 19:26
  • 7931

bitblt简易使用教程

BitBlt 是VB较常用的绘图API函数,绘图速度基本上是API中最快的了。它虽然使用简单,但功能强大,以下我就来给新手们简单的讲解一下它  的用法  BitBlt 的声明如下(在窗体代...
  • gh2663287
  • gh2663287
  • 2015年06月24日 19:13
  • 1286

使用BitBlt实现位图背景透明

我们先看一下 BitBlt 这个函数的原型: BOOL BitBlt(int x, int y, int nWidth,nHeight, CDC* PsrcDC, int xSrc, int ySrc...
  • linshaolie
  • linshaolie
  • 2014年03月24日 02:03
  • 4505

比bitblt和stretchblt效率更高的函数

BMP位图文件结构及平滑缩放 ---- 用普通方法显示BMP位图,占内存大,速度慢,在图形缩小时,失真严重,在低颜色位数的设备上显示高颜色位数的图形图形时失真大。本文采用视频函数显示BMP位图,可以...
  • normallife
  • normallife
  • 2016年11月15日 21:10
  • 1248

bitblt函数的注意事项

在windows的bitblt函数主要是用于windows贴图操作,也就是将一个设备上的一般是内存设备函数贴图到真实的设备上啊 在此处又注意到的是bitblt函数却存在两种形式 1...
  • zhouyelihua
  • zhouyelihua
  • 2013年11月23日 23:14
  • 2947

浅谈MFC中BitBlt与StretchDIBits的区别

一、基础知识1.BitBlt BitBlt 用于从原设备中复制位图到目标设备,语法格式如下: BOOL BitBlt( HDC hdcDest, // handle to destination...
  • wangshubo1989
  • wangshubo1989
  • 2015年08月06日 13:14
  • 2838
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Bitblt函数(API)祥解
举报原因:
原因补充:

(最多只允许输入30个字)