矩形#
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类的示例。
如果指定了其他目录,将会创建一个新副本。
如果指定了序列,则必须是由 4 个数字组成的 Python 序列类型(参见 在 PyMuPDF 中将 Python 序列用作参数)。非整数数字将被截断,非数值类型将引发异常。
其他参数表示整数坐标。
- get_area([unit])#
计算矩形的面积,如果没有参数,则等于 abs(IRect)。像一个空矩形一样,无限矩形的面积也是零。
- Parameters:
单位 (str) – 指定所需单位:“px”(像素,默认值)、“in”(英寸)、“cm”(厘米)或 “mm”(毫米)的相应平方。
- Return type:
浮点数
- intersect(ir)#
当前矩形和ir的交集(公共矩形区域)被计算并替换当前矩形。如果任一矩形为空,结果也为空。如果任一矩形是无限的,则另一个被视为结果——因此如果两个矩形都是无限的,结果也将是无限的。
- Parameters:
ir (rect_like) – 第二个矩形。
- contains(x)#
检查x是否包含在矩形中。它可以是
rect_like、point_like或一个数字。如果x是一个空矩形,这总是正确的。相反,如果矩形是空的,这总是False,如果x不是一个空矩形且不是一个数字。如果x是一个数字,则将检查它是否为四个组件之一。x in irect和irect.contains(x)是等价的。
- intersects(r)#
检查矩形和
rect_like“r” 是否包含一个共同的非空IRect。如果其中一个是无限的或空的,这将始终为False。- Parameters:
r (rect_like) – 要检查的矩形。
- Return type:
布尔值
- torect(rect)#
版本 1.19.3 新增
计算将这个矩形转换为给定矩形的矩阵。请参见
Rect.torect()。- Parameters:
rect (rect_like) – 目标矩形。必须非空且有限。
- Return type:
- Returns:
一个矩阵
mat,使得self * mat = rect。可以用于在页面和位图坐标之间进行转换。
- morph(fixpoint, matrix)#
1.17.0 版本的新功能
在使用固定点对其应用矩阵后返回一个新的四边形。
- Parameters:
fixpoint (point_like) – 固定点。
矩阵 (类似矩阵) – 矩阵。
- Returns:
一个新的 Quad。这是同名四重积分方法的包装器。如果是无限的,将返回无限四重积分。
- norm()#
版本 1.16.0 中的新功能
返回将矩形视为四个数字的向量的欧几里得范数。
- top_left#
- top_right#
- bottom_left#
- bottom_right#
- width#
包含边界框的宽度。等于 abs(x1 - x0)。
- Type:
整型
- height#
包含包围盒的高度。等于 abs(y1 - y0)。
- Type:
整型
- x0#
左角的X坐标。
- Type:
整型
- y0#
顶部角的Y坐标。
- Type:
整型
- x1#
右角的X坐标。
- Type:
整型
- y1#
底部角的Y坐标。
- Type:
整型
- is_infinite#
如果矩形是无限的,则为True,否则为False。
- Type:
布尔值
- is_empty#
如果矩形是空的则True,否则False。
- Type:
布尔值
注意
这个类遵循 Python 序列协议,因此组件也可以通过它们的索引访问。同时请参考 在 PyMuPDF 中使用 Python 序列作为参数。
矩形可以与算术运算符一起使用 - 参见章节 几何对象的运算符代数。