摘要: 当按下一键时,产生mark码,产生一次IRQ1中断。放开键时,产生break码,产生一次IRQ1中断。因此:当按下A键放开,实际上产生了两次IRQ1中断break是mark码的bit7置1得来,也就是:break=mark+0x801、scancode集这里只说一般日常应用中的键盘码集set2(有set1、set2以及set3)基本scancode:绝大多数scancode是1byte的。扩展scancode:由e0、e1或e2引导特殊的PrintScreen/SysRq键:e02ae037物殊的Pause/Break键:e11d45e19dc52、小键盘scancode表keymark(He 阅读全文
posted @ 2013-06-14 15:21 Max Woods 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: The following table shows the symbolic constant names, hexadecimal values, and mouse or keyboard equivalents for the virtual-key codes used by the system. The codes are listed in numeric order.Constant/valueDescriptionVK_LBUTTON0x01Left mouse buttonVK_RBUTTON0x02Right mouse buttonVK_CANCEL0x03Contro 阅读全文
posted @ 2013-06-14 15:17 Max Woods 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 四、BitmapData.pas的使用(注:以上压缩包中的BitmapData.pas文件有个小BGU,主要是截取鼠标指针的图片时没有考虑当前的背景颜色,始终为黑色。在本贴三楼的压缩包中有更新后的BitmapData.pas文件下载。) 在上面的压缩包中是BitmapData.pas使用的示范程序,BitmapData.pas文件可以从压缩包中获得。在BitmapData.pas文件中我将位图数据封装成了类TBDBitmapData,以便于使用。另外我编写一系列的函数用以BGR格式颜色的构建、转换、模糊比较。注意在BitmapData.pas文件中我定义了一些常量,这些常量只是为了增加程序的. 阅读全文
posted @ 2013-06-14 12:11 Max Woods 阅读(1849) 评论(0) 推荐(0) 编辑
摘要: 三、找图找色 结合本文第一节和第二节的内容设计一个找图找色的程序应该不是问题。对于一个位图可以看成是由象素组成的矩阵,Top相当于y,Left相当于x,利用(Top,Left)可以象访问矩阵元素一样访问位图上的象素。查找过程就是对位图象素的遍历。相关的代码在BitmapData.pas文件中都有,这里就不重复了。在BitmapData.pas文件中我实现的查找过程主要还是一对一的比对,这是一种较慢的匹配算法。对于一些字符串匹配算法,在查找过程中可以在匹配失败时跳过一些字符从而加快查找的速度。在矩阵查找中也有类似的算法,但我没有找到比较好的算法,所以在实现上还是采用了一对一的比对。这就意味着查. 阅读全文
posted @ 2013-06-14 12:05 Max Woods 阅读(1403) 评论(0) 推荐(0) 编辑
摘要: 二、矩阵遍历 矩阵遍历是一个数据结构方面的问题。假设有一个矩阵Matrix,它共有RowCount行,每行有ColCount列,当利用y表示行数,x表示列数,那么利用Matrix[y,x]就可以访问矩阵中的任意元素。假设有一个10×10大小的矩阵,它的遍历方法有以下三种:此主题相关图片如下:(图1)在上图中矩阵中的数字表示遍历到元素的先后次序,箭头表示遍历的方向。第一种的一般遍历法在很多编程书上都有介绍,而且经常作为循环代码的示范程序使用。这种遍历方法稍加修改就可以做到从右上角开始、从左下角开始、从右下角开始。这种遍历方法很简单,这里就不多说了。与一般遍历相反,螺旋遍历在所有的编程书 阅读全文
posted @ 2013-06-14 12:03 Max Woods 阅读(1039) 评论(0) 推荐(0) 编辑
摘要: 前言 最近有好几个朋友都在问我找图找色的问题,奇怪?于是乎写了一个专门用于找图找色的单元文件“BitmapData.pas”。在这个单元文件中我实现了从文件中导入位图、屏幕截图、鼠标指针截图、在图片上查找子图、在图片上查找颜色等功能。在查找过程中可以设定颜色变化范围、可以从左到右从上到下查找、也可以从指定点向四周查找。关于这个文件的下载和使用,可以参考本文的第四节。下面详细说说这些功能的实现。一、数据提取 位图其实可以看成是一个由象素组成的矩阵,找图找色可以看成是象素值的比对。很多新手在设计这类的程序时喜欢使用TBitmap.Canvas.Pixels属性,这个属性其实是对API函数Get.. 阅读全文
posted @ 2013-06-14 12:02 Max Woods 阅读(1549) 评论(0) 推荐(0) 编辑