基 础 函 数 参 考


PixelSearch

搜索像素矩形的像素颜色.

PixelSearch ( 左, 上, 右, 下, 颜色 [, 色差 [, 步进值 [,句柄]]] )

参 数

矩形的左上角水平坐标(X).
矩形的左上角垂直坐标(Y).
矩形的右下角水平坐标(X).
矩形的右下角垂直坐标(Y).
颜色 搜索的颜色值(十进制或十六进制).
色差 [可选参数] 0 到 255 之间的值, 用以指定红, 绿, 蓝的颜色偏差范围. 默认值为 0 (完全匹配).
步进值 [可选参数] 默认搜索每个象素, 此参数可指定跳过搜索的象素数量(提升执行速度).
例如,数值 2 表示每隔一个象素搜索下一个. 默认值为 1.
句柄 [可选参数] 目标窗口句柄.

返 回 值

成功: 返回两个元素的坐标值数组. (Array[0] = x 坐标, Array[1] = y 坐标).
失败: 返回 0, 如果未发现颜色, 则设置 @error 为 1.

备 注

搜索方向的变化如下:
    从左到右 - left < right
    从右到左 - right < left
    从上到下 - top < bottom
    从下到上 - bottom < top
修改搜索方向, 对于特定搜索范围频繁出现的颜色, 可以优化频繁的搜索.

记住, 典型的 1024 x 768 显示器有 786432 个像素,
虽然 PixelSearch 函数进行了优化, 但减小搜索区域能帮助加快搜索速度.

相 关 函 数

PixelChecksum, PixelGetColor, PixelCoordMode (Option)

函 数 示 例


; 在 0,0-20,300 范围内查找纯红色像素点
Local $coord = PixelSearch( 0, 0, 20, 300, 0xFF0000 )
If Not @error Then
    MsgBox(0, "X 与 Y 坐标值:", $coord[0] & "," & $coord[1])
EndIf


; 在 0,0-20,300 范围内查找纯红色像素点,允许 10 个颜色偏差
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000, 10 )
If Not @error Then
    MsgBox(0, "X 与 Y 坐标值:", $coord[0] & "," & $coord[1])
EndIf

provider with jb51.net (unicode)