跳转到主要内容元素的搜索区域由在搜索位置部分设置的元素属性以及在搜索条件部分设置的条件共同确定。在应用这些属性和条件之前,搜索区域与页面矩形重合。程序会先将元素属性应用于该区域,然后再应用在搜索条件部分中设置的附加限制。
在搜索条件部分中可以设置以下类型的约束:
-
搜索区域可以限定为一个矩形(
Rect 变量)、一个区域(即由矩形连续构成的集合——Region 变量),或一个在一般情况下不要求连续的矩形数组(RectArray 变量)。此类约束通过使用 RestrictSearchArea 函数并指定相应类型的参数来设置。任何返回所需类型值的表达式都可以作为参数。
-
搜索区域可以限定为位于某个特定点左侧、右侧、上方或下方的半平面。此类约束通过使用 Leftof、Rightof、Above 和 Below 函数来设置。
-
有时您可能希望对元素边界设置约束。例如,可能预先已知元素的左边界始终位于图像的左侧区域,而右边界可能向右无限延伸。FlexiLayout 语言允许您在计算搜索区域阶段设置此类约束,从而缩小元素可能的假设范围。此类约束通过使用
LeftBound、RightBound、topBound 和 BottomBound 函数以及运算符 > 和 < 来设置。LeftBound 和 RightBound 函数用于访问搜索区域的左、右边界,topBound 和 BottomBound 函数则分别用于访问上、下边界。
-
您可以通过将某个矩形、矩形数组、假设等从搜索区域中排除来设置搜索约束。这可以通过使用
Exclude、ExcludeRect 和 ExcludeSet 函数来实现。
您可以在搜索条件部分中指定任意数量的上述类型的搜索约束。每个约束都会在图像上创建一个区域。由这些约束创建的所有区域将被求交。
此外,为该元素计算得到的搜索区域还将与其所属的 Group 元素的搜索区域求交。