BitBlt 是VB较常用的绘图API函数,绘图速度基本上是API中最快的了。它虽然使用简单,但功能强大,以下我就来给新手们简单的讲解一下它

的用法

BitBlt 的声明如下(在窗体代码中须在前面加上Private关键字):

Declare Func**** BitBlt Lib "gdi32" (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 
请把Func****替换为  func(baidu)tion

它的参数表如下: 
  
参数           类型     说明

hDestDC        Long,   目标设备场景  
x,y            Long,   对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示  
nWidth,nHeight Long,   欲传输图象的宽度和高度  
hSrcDC         Long,   源设备场景。如光栅运算未指定源,则应设为0  
xSrc,ySrc      Long,   对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示  
dwRop          Long,   传输过程要执行的光栅运算

用法事例:

l = BitBlt(Picture2.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, SRCCOPY)

解释:将Picture1中的位置为(0,0),大小为 Picture1.ScaleWidth×Picture1.ScaleHeight 的图像复制到Picture2的(0,0)位置

其中SRCCOPY为绘图模式

BitBlt之所以强大,是因为dwRop参数有不同的值,当dwRop取不同的值时会产生不同的效果。

下面为了让新手便于理解,将源设备定为Picture1,将目标设备称为Picture2。 
下面的这些就是dwRop可取的值即其意义:

SRCCOPY:将Picture1中颜色复制到Picture2。

NOTSRCCOPY:将Picture1中颜色取反色,再复制到Picture2。

SRCAND:将Picture1中颜色与Picture2中颜色合并后,再复制到Picture2中。

MERGEPAINT:同时将Picture1与Picture2中的颜色去反色并合并,再复制到Picture2中。

BLACKNESS:将物理调色板的索引0相关的色彩填充到Picture2中,(默认为黑色)。

WHITENESS:将物理调色板的索引1相关的色彩填充到Picture2中,(默认为白色)。

(*)SRCERASE:将Picture1中的颜色去反色,再与Picture2中颜色异或(Xor)合并,,再复制到Picture2中。

(*)NOTSRCERASE: 将Picture2中的颜色去反色,再与Picture1中颜色异或(Xor)合并,,再复制到Picture2中。

(*)SRCINVERT: 将Picture1中颜色与Picture2中颜色异或(Xor)合并后,再复制到Picture2中。

(*)DSTINVERT:将Picture2中颜色取反色后,再复制到Picture2中。

MERGECOPY:AND操作符将源矩形区域的颜色与特定模式组合一起。 
PATCOPY:将特定的模式拷贝到目标位图上。 
PATPAINT:通过使用布尔OR(或)操作符将源矩形区域取反后的颜色值与特定模式的颜色合并。然后使用OR(或)操作符将该操作的结果与目标矩形区域内的颜色合并。  
PATINVERT:通过使用XOR(异或)操作符将源和目标矩形区域内的颜色合并。 
MERGEPAINT:通过使用布尔型的OR(或)操作符将反向的源矩形区域的颜色与目标矩形区域的颜色合并。

注:以上属性需定义 
上面带“(*)”号的多次点击会闪烁(因为异或的原因),其中SRCINVERT的解释可能不对,望高手指正

dwRop其实还有MERGECOPY,SRCPAINT,PATCOPY,PATPAINT,PATINVERT五个属性,但我还不明白这些属性的意义,就不在这里献丑了,等待高

手来解释。另外,希望高手能解释一下“物理调色板”。

我写这个是为了帮助新手(其实我也是新手-_-!)处理简单的绘图任务,同时鼓励新手大胆运用API函数。新手在刚学VB时会对API函数敬而远之,会感到其很神秘。其实API跟VB内置的函数是一样的,而且要比VB内置的函数强大许多,只不过需要额外定义。当你习惯用API之后,便会

有相“用”恨晚的感觉。

废话不多说了,赶紧试试吧!

这是程序开始画面:

程序下载地址: 
http://cid-03cbc1ef50ff74ad.skydrive.live.com/browse.aspx/.Public?lc=2052 
在里面的  API函数研究文件夹  中 
点击“动画”按钮出现自动演示图片闪烁

这是点击“手动”按钮第一次:

bitblt简易使用教程相关推荐

  1. Python模块(8)-sklearn 简易使用教程

    sklearn 简易使用教程 1.scikit-learn的数据集 2.scikit-learn 的训练和预测 scikit-learn 是在Numpy,SciPy,Matplotlib三个模块上编写 ...

  2. Python模块(7)-SciPy 简易使用教程

    SciPy 简易使用教程 1. 符号计算 2. 函数向量化 3. 波形处理scipy.signal 3.1 滤波器 3.2 波峰定位 基于numpy的一个高级模块,为数学,物理,工程等方面的科学计算提 ...

  3. python模块(5)-Matplotlib 简易使用教程

    Matplotlib简易使用教程 0.matplotlib的安装 1.导入相关库 2.画布初始化 2.1 隐式创建 2.2 显示创建 2.3 设置画布大小 2.4 plt.figure()常用参数 3 ...

  4. Python模块(2)-Numpy 简易使用教程

    Numpy模块 简易使用教程 1.数组创建 2.数组基本属性-维度.尺寸.数据类型 3.数组访问-索引.切片.迭代 4.数组的算术运算-加减乘除.转置求逆.极大极小 5.通用函数-sin,cos,ex ...

  5. Python模块(1)-Argparse 简易使用教程

    argparse 简易使用教程 1基本函数 2例子程序演示 3常用参数解释 4argparse模块整理的缘起 1基本函数 argparse是Python中用于命令行中进行参数解析的一个模块,可以自动生 ...

  6. layui个人中心html,Layui的简易入门教程

    layui是一款采用自身模块规范编写的前端UI框架,非常适合界面的快速开发.本篇文章给大家分享一下Layui的简易入门教程,介绍一下layui如何在你的项目中使用. 获得 layui 后,将其完整地部 ...

  7. 伤害世界服务器连接失败_伤害世界服务器简易架设教程

    伤害世界服务器简易架设教程 那么很简单,首先需要大家做的就是下载我们的服务器文件,这个文件在哪里呢,我们就直接在steam下载即可 直接下载即可,这就是服务端文件了 下载完毕后,它会在以上steam里 ...

  8. Xilinx FPGA平台GTX简易使用教程(一)GTX基础知识

    理解GTX的必备姿势,学起来! 汇总篇: Xilinx FPGA平台GTX简易使用教程(汇总篇) 目录 一.什么是GTX? 二.Quad/Channel 三.PMA与PCS 四.GTX收发处理流程 五 ...

  9. Music Store(音乐商店)简易中文教程

    官方网址:         CodePlexProject Hosting for Open Source Software        http://www.codeplex.com/ ===== ...

最新文章

  1. 机器学习基础专题:评估指标
  2. 一文看懂深度学习AutoML和NAS
  3. javascript技术教程蔡敏_程序员都必掌握的前端教程之JavaScript基础教程(上)
  4. SSD: Signle Shot Detector 用于自然场景文字检测
  5. ubuntu上的wordpress文章的本地存储位置
  6. 从“为什么不能直接打开PDF文件”说到“脚本***”
  7. java增加内容辅助_Eclipse自定义内容辅助基于默认Java内容辅助结果
  8. php的jquery ajax请求,jquery ajax请求
  9. select_related和prefetch_related的用法与区别
  10. 法线贴图及其用法详解
  11. WordPress 前端投稿/编辑插件 DJD Site Post(支持游客和已注册用户)
  12. html关于图片缓慢放大
  13. 和面试官对线HashMap
  14. 微信小程序九宫格抽奖
  15. 2014年电大计算机应用基础考,2014年中央电大计算机应用基础网考最新修改版小抄.doc...
  16. 累计三年,断断续续的管理经验
  17. 【纪中受难记】——Day17:本来能AK
  18. jquery的淡入,淡出事件 fadeIn fadeOut
  19. props 和 state的区别
  20. MSproject软件在项目管理中实际操作干货

热门文章

  1. Go微服务框架及基础平台选择
  2. Matthew20211117
  3. 广东管理系统计算机应用实践,广东工业大学自考管理系统中计算机应用(00052)实践环节考核要求...
  4. 应用调试之使用strace命令跟踪系统调用
  5. ERP的主要功能模块
  6. dreamweave
  7. Adobe Dreamweave下载和安装步骤
  8. 关于Ubuntu 下新开发板adb 无法识别的问题(成功案例:解决了三星,索爱,OPPO X903案例)
  9. 2020-03-20盘后总结,指数高开,尾盘北上资金涌入
  10. [算法Tutorial]Adversary Argument,对手论证