找色和色块,是模拟的重要基础。

有时候,需要确定某点是否出现某种颜色,有时候需要判断色块是否出现在某位置

有时候,需要看范围内是否出现色块。

function IsColor(bmp:TBitmap; x,y:integer; c:TColor):boolean;
var
  row:pRGBTripArray;
  p:TRGBTriple;
begin
  row:=bmp.ScanLine[y];
  p:=row[x];
  result:=(p.rgbtBlue=GetBValue(c)) and (p.rgbtGreen=GetGValue(c))
        and (p.rgbtRed=GetRValue(c));
end;

function IsColorBlock(bmp:TBitmap; x,y,n:integer; c:TColor):boolean;
var
  i,j:integer;
begin
  result:=false;
  for j:=y to y+n-1 do
  begin
    for i:=x to x+n-1 do
    begin
      if not IsColor(bmp, i, j, c) then // 颜色不对就不是色块了
        exit;
     end;
  end;
  result:=true; // 能到这里,该位置就是色块
end;

function FindColorBlock(bmp:TBitmap; x1,y1,x2,y2,n:integer;c:TColor):TPoint;
var
  i,j:integer;
begin
  for j:=y1 to y2 do
  begin
    for i:=x1 to x2 do
    begin
      if IsColor(bmp, i, j, c) then // 先找色点
      begin
        if IsColorBlock(bmp,i,j,3,c) then // 再判色块
        begin
          result.x:=i;
          result.y:=j;
          exit; // 找到返回
        end;
      end;
    end;
  end;
  result.x:=-1;
  result.y:=-1;
end;

转载于:https://www.cnblogs.com/MaxWoods/archive/2013/05/29/3106274.html

delphi之找色和色块相关推荐

  1. 511遇见易语言乐玩插件FindMultiColor找色多点及找色块

    本节视频封装了乐玩的多点找色FindMultiColor及找色块FindMultiColor,并通过<剑侠情缘>这款游戏调用示范. 乐玩插件模块源码: .版本 2.子程序 FindMult ...

  2. Delphi下实现全屏快速找图找色 二、矩阵遍历

    二.矩阵遍历 矩阵遍历是一个数据结构方面的问题.假设有一个矩阵Matrix,它共有RowCount行,每行有ColCount列,当利用y表示行数,x表示列数,那么利用Matrix[y,x]就可以访问矩 ...

  3. Delphi下实现全屏快速找图找色

    前言 最近有好几个朋友都在问我找图找色的问题,奇怪?于是乎写了一个专门用于找图找色的单元文件"BitmapData.pas".在这个单元文件中我实现了从文件中导入位图.屏幕截图.鼠 ...

  4. 第六篇T语言实例开发,多点找色应用

    ---恢复内容开始--- 多点找色应用 文字,图形特征的获取 多点找色 功能原型 窗口多点找色(窗口句柄,x1,y1,x2,y2,颜色值,色点组,相似度,方向,返回x,返回y) 功能说明 根据指定的多 ...

  5. python找色_python实现按键精灵找色点击功能教程,使用pywin32和Pillow库

    Python图片处理模块PIL(pillow) pywin32的主要作用 1.捕获窗口: 2.模拟鼠标键盘动作: 3.自动获取某路径下文件列表: 4.PIL截屏功能 找色点击功能思路: 抓取当前屏幕快 ...

  6. python找色_[REST API] 用Python实现颜色识别功能----Total Control区域找色

    [REST API] 用Python实现颜色识别功能----Total Control区域找色 [REST API] 用Python实现颜色识别功能----Total Control区域找色 Tota ...

  7. 按键--找色找图基础

    尊重原创:按键--找色找图基础 1 为什么写找色找图? 话说某天,笔者在按键精灵论坛上闲逛,突发奇想,敲入关键字"找色"结果搜索到了400多个帖子,敲入关键字"找图&qu ...

  8. c语言实现按键精灵区域找图,区域遍历所有图片(找图,多点找色)----1个函数实现...

    找到图片数量=找多图(t1,t2,t3,t4,t5,t6,t7,t8) //d2 全局变量 二维数组用来储存 //找多图 用来返回找到 图片的数量 //t1,t2,t3,t4能够确定区域找图范围 // ...

  9. 按键精灵/触控精灵 多点找怪,多点找色算法思路,附带动态分析图,以及算法代码

    上面的两张动图是5宫格,6宫格动图; 先说下思路 按键/触动精灵只提供了单个找色函数,所以如果想在屏幕上找多个怪物,这里我设计的是按照屏幕大小,分成一个个小格子,然后便利格子,调用他们的单个找色函数; ...

最新文章

  1. Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!)
  2. Redhat 或 CentOS 发行版本号
  3. 为什么选择学习Java编程
  4. mssql查询所有上下级
  5. 对抗微软?索尼36亿美金收购游戏开发商Bungie
  6. mysql中php编程实例_PHP连接MYSQL数据库实例代码
  7. 零基础学python电子书-零基础学Python
  8. linux lite安装教程,Linux Lite第一个获得Linux 4.14 及如何安装它
  9. Grails里的集成测试代码试例
  10. .NET(WinCE、WM)开发转Android开发 ——Xamarin和Smobiler对比...
  11. 数字图像处理 - 灰度级分层 的python实现
  12. 5.Lucene 基本原理(六)字典实现原理 FST(Finite State Transducer)
  13. Node-Red UI界面基础设计
  14. 德国Tesla的招聘过程“糟透了”,混乱又自大
  15. android使用google gcm接收push消息需要注意的地方
  16. benson邀请您访问互助联盟建站之家
  17. 将HTML代码转换为图片
  18. 词汇课程——词的颜色与易混淆的词缀(4)
  19. 【MySQL】MacM1下的MySQL安装与配置
  20. DFRobot语音识别模块推荐-Gravity: I2C离线中文语音识别模块

热门文章

  1. The directory '*' or its parent directory is not owned by the current user
  2. 智宇科技 ZYARJX-1机械臂智能小车 —— PS2游戏手柄控制程序
  3. 【Qt】Qt5.9连接MySQl5.7(亲自测试成功)
  4. 内购订单进行二次处理_独家独到飞豹FBA亚马逊退货处理,实现二次销售不是问题...
  5. javascript经典实例_JavaScript 经典实例收集整理
  6. python爬去百度搜索结果_python实现提取百度搜索结果的方法
  7. 51nod 1717 好数 (水题)
  8. 每天一道LeetCode-----二叉搜索树的某两个节点被交换位置,修正这个二叉搜索树
  9. LVS(12)——sh
  10. Spark(2)——小用RDD