IRect#
IRect 是一个矩形边界框,与 Rect 非常相似,不同之处在于所有角坐标都是整数。IRect 用于指定像素区域,例如在渲染期间接收图像数据。此外,关于矩形为空或无效的考虑也适用于此类。方法和属性名称相同,在许多情况下通过重用相应的 Rect 对应项实现。
属性 / 方法 |
简要描述 |
---|---|
检查是否包含另一个对象 |
|
计算矩形面积 |
|
与另一个矩形的公共部分 |
|
检查是否有非空交集 |
|
使用点和矩阵进行变换 |
|
将此矩形变换为另一个矩形的矩阵 |
|
欧几里得范数 |
|
使矩形有限 |
|
左下点,同义词 bl |
|
右下点,同义词 br |
|
矩形高度 |
|
矩形是否为空 |
|
矩形是否无限 |
|
具有相同浮点坐标的 Rect 等效项 |
|
左上点,同义词 tl |
|
右上点,同义词 tr |
|
由矩形角生成的 Quad |
|
矩形宽度 |
|
左上角的 X 坐标 |
|
右下角的 X 坐标 |
|
左上角的 Y 坐标 |
|
右下角的 Y 坐标 |
类 API
- class IRect#
- __init__(self)#
- __init__(self, x0, y0, x1, y1)#
- __init__(self, irect)#
- __init__(self, sequence)#
重载构造函数。另请参阅下面的示例以及 Rect 类的示例。
如果指定了另一个 irect,将创建一个 新副本。
如果指定了 sequence,它必须是包含 4 个数字的 Python 序列类型(参见 在 PyMuPDF 中使用 Python 序列作为参数)。非整数数字将被截断,非数值将引发异常。
其他参数表示整数坐标。
- get_area([unit])#
计算矩形面积,不带参数时等于 abs(IRect)。与空矩形类似,无限矩形的面积也为零。
- 参数:
unit (str) – 指定所需单位:相应的平方单位,包括“px”(像素,默认)、“in”(英寸)、“cm”(厘米)或“mm”(毫米)。
- 返回类型:
float
- intersect(ir)#
计算当前矩形与 ir 的交集(公共矩形区域),并替换当前矩形。如果任一矩形为空,结果也为空。如果任一矩形为无限矩形,则以另一个矩形作为结果——因此如果两个矩形都为无限矩形,结果也为无限矩形。
- 参数:
ir (rect_like) – 第二个矩形。
- contains(x)#
检查 x 是否包含在矩形中。它可能是
rect_like
、point_like
或一个数字。如果 x 是一个空矩形,这始终为 True。反之,如果矩形为空,当 x 不是空矩形且不是数字时,这始终为False
。如果 x 是一个数字,则会检查它是否是四个组件之一。x in irect 和 irect.contains(x) 是等效的。
- intersects(r)#
检查当前矩形和
rect_like
“r” 是否包含一个公共的非空 IRect。如果其中任一为无限或空,则此结果始终为False
。- 参数:
r (rect_like) – 要检查的矩形。
- 返回类型:
bool
- torect(rect)#
1.19.3 版本新增
计算将此矩形变换为给定矩形的矩阵。参见
Rect.torect()
。- 参数:
rect (rect_like) – 目标矩形。不能为空或无限。
- 返回类型:
- 返回:
一个矩阵
mat
,使得self * mat = rect
。例如,可用于在页面坐标和像素图坐标之间进行变换。
- morph(fixpoint, matrix)#
1.17.0 版本新增
应用矩阵并使用固定点后,返回一个新的四边形。
- 参数:
fixpoint (point_like) – 固定点。
matrix (matrix_like) – 矩阵。
- 返回:
一个新的 Quad。这是同名 quad 方法的包装器。如果是无限的,则返回无限四边形。
- norm()#
1.16.0 版本新增
返回将矩形视为四维向量时的欧几里得范数。
- top_left#
- top_right#
- bottom_left#
- bottom_right#
- width#
包含边界框的宽度。等于 abs(x1 - x0)。
- 类型:
int
- height#
包含边界框的高度。等于 abs(y1 - y0)。
- 类型:
int
- x0#
左侧角的 X 坐标。
- 类型:
int
- y0#
顶部角的 Y 坐标。
- 类型:
int
- x1#
右侧角的 X 坐标。
- 类型:
int
- y1#
底部角的 Y 坐标。
- 类型:
int
- is_infinite#
如果矩形是无限的,则为
True
,否则为False
。- 类型:
bool
- is_empty#
如果矩形为空,则为
True
,否则为False
。- 类型:
bool
注意
此类遵循 Python 序列协议,因此也可以通过索引访问组件。另请参阅 在 PyMuPDF 中使用 Python 序列作为参数。
矩形可以使用算术运算符——参见章节 几何对象的运算符代数。