跳转到主要内容
为方便起见,假设在元素(及其任意父级 Group 元素)的 Properties 面板中未设置任何搜索区域约束。在这种情况下,在程序应用 Search Conditions 部分中的约束之前,元素的搜索区域将与页面矩形重合。如果该部分中没有其他附加约束,程序将在整个页面上查找该元素。 应用上文Search Constraints中描述的类型 1、2 和 4 的约束,将创建一个由矩形数组组成的搜索区域。程序会将搜索区域视为一个外接于整个数组的矩形,并从该矩形中排除指定的一组矩形(被排除的矩形)。 应用上文 Search Constraints 中描述的类型 3 搜索约束,将为假设的每个边界——左、右、上和下——创建允许坐标范围。每个边界都由相应坐标轴上的一段坐标范围来表示,例如 [x1, x2] 或 [y1, y2]。其中 x1 和 x2 的类型为 XCoordinate,y1 和 y2 的类型为 YCoordinate。该坐标轴区间必须满足以下条件:对于 X 坐标,x1 <= x2,对于 Y 坐标,y1 <= y2 如果连续对某个边界应用多个约束,每个约束都会改变该边界的允许坐标范围。 设 Search Conditions 部分包含如下约束:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 10mm.
设在应用上述约束之前,搜索区域与页面的矩形重合,即 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]。则元素边界坐标的范围将是: 设在执行这些约束之前未指定搜索区域。则在单页 FlexiLayout 的情况下(文档中允许的最小和最大页面数均为 1),搜索区域与页面的矩形 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom] 重合。在多页 FlexiLayout 的情况下,搜索区域的最大尺寸为 [-INF, -INF, INF, INF]。元素边界的坐标范围如下:
Boundary单页 FlexiLayout 的范围多页 FlexiLayout 的范围
LeftBound[PageRect.Left, PageRect.Right][-INF, INF]
TopBound[PageRect.Top, PageRect.Bottom][-INF, INF]
RightBound[PageRect.Left, PageRect.Right][-INF, INF]
BottomBound[PageRect.Top, PageRect.Bottom][-INF, INF]
当执行约束 LeftBound > 5mm 时,只有左边界发生变化。其可能取值范围在单页 FlexiLayout 中变为区间 [5mm, PageRect.Right],在多页 FlexiLayout 中变为区间 [5mm, INF] 应用 LeftBound > 5mm 约束后,此时左边界的允许坐标范围为 [5mm, PageRect.Right] 应用 LeftBound < 15mm 约束后,左边界允许坐标范围将为 [5mm, 15mm] 应用 LeftBound < 10mm 约束后,左边界允许坐标范围将为 [5mm, 10mm] 同样地,可以为元素的其他边界设置约束。 搜索区域的指定边界构成了所谓的 fuzzy rectangle