GetBlockRange 获取每个色块的坐标范围

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

统计区域中指定颜色的色块数量(普通窗口和网页有效)

语法

结果 = Plugin.Bkgnd.GetBlockRange(窗口句柄, 后台范围x1, 后台范围y1, 后台范围x2, 后台范围y2, 颜色值, 相似度)

参数

参数 数据类型 解释
窗口句柄 整数型 要后台操作的窗口句柄
后台范围x1 整数型 查找范围左上角后台坐标x
后台范围y1 整数型 查找范围左上角后台坐标y
后台范围x2 整数型 查找范围右下角后台坐标x
后台范围y2 整数型 查找范围右下角后台坐标y
颜色值 字符串 待查找的十六进制颜色值, 格式为BBGGRR
相似度 双精度浮点型 相似度(小数0.1~1.0), 1.0最相似

返回值

字符串, 每个色块坐标范围(X坐标,Y坐标,宽,高|X坐标,Y坐标,宽,高|X坐标,Y坐标,宽,高……)

示例

1
2
3
4
5
6
7
8
9
10
11
iNum = Plugin.Bkgnd.GetBlockRange(Hwnd,0,0,100,100,"0000FF",1.0)
iBlock = Split(iNum,"|")
For n = 0 To Ubound(iBlock)
iRange = Split(iBlock(n), ",")
For i = 0 To Ubound(iRange)
TracePrint iRange(i)
Next
Next

//色块可以是不规则的或者是连续体的颜色。
//失败返回:-1,-1,-1,-1

备注

  • 后台坐标(窗口坐标)是指以窗口客户区的左上角为起点坐标系的坐标。例如,某个窗口客户区的左上角坐标为(100,200),客户区内某个点的屏幕坐标为(300,500),则该点的后台坐标为(300-100,500-200),也就是(200,300