矩形#

IRect 是一个矩形边界框,类似于 Rect,只是所有角坐标都是整数。IRect 用于指定像素区域,例如在渲染期间接收图像数据。否则,例如,关于矩形的空性和有效性的考虑也适用于此类。方法和属性具有相同的名称,许多情况下通过重用各自的 Rect 对应项来实现。

属性 / 方法

简短描述

IRect.contains()

检查另一个对象是否在内

IRect.get_area()

计算矩形面积

IRect.intersect()

与另一个矩形的公共部分

IRect.intersects()

检查非空交集

IRect.morph()

使用点和矩阵进行变换

IRect.torect()

转换到另一个矩形的矩阵

IRect.norm()

欧几里得范数

IRect.normalize()

使矩形有限

IRect.bottom_left

左下角点,别名 bl

IRect.bottom_right

右下角点,同义词 br

IRect.height

矩形的高度

IRect.is_empty

矩形是否为空

IRect.is_infinite

矩形是否是无限的

IRect.rect

相当于 Rect

IRect.top_left

左上角点,同义词 tl

IRect.top_right

右上点,别名 tr

IRect.quad

Quad 由矩形角生成

IRect.width

矩形的宽度

IRect.x0

左上角的X坐标

IRect.x1

右下角的X坐标

IRect.y0

左上角的Y坐标

IRect.y1

右下角的 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_likepoint_like或一个数字。如果x是一个空矩形,这总是正确的。相反,如果矩形是空的,这总是False,如果x不是一个空矩形且不是一个数字。如果x是一个数字,则将检查它是否为四个组件之一。x in irectirect.contains(x)是等价的。

Parameters:

x (IRectRectPoint 或 int) - 要检查的对象。

Return type:

布尔值

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 中的新功能

返回将矩形视为四个数字的向量的欧几里得范数。

normalize()#

使矩形有限。这是通过打乱矩形的角实现的。之后,右下角确实会位于左上角的东南方向。有关更多细节,请参见 Rect

top_left#
tl#

等于 Point(x0, y0).

Type:

top_right#
tr#

等于 Point(x1, y0)

Type:

bottom_left#
bl#

等于 Point(x0, y1).

Type:

bottom_right#
br#

等于 Point(x1, y1)

Type:

rect#

具有相同坐标的浮点数的Rect

Type:

矩形

quad#

四边形 Quad(irect.tl, irect.tr, irect.bl, irect.br)

Type:

四元

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:

布尔值

注意


本软件按原样提供,不作任何明示或暗示的担保。该软件根据许可证分发,除非按照该许可证的条款明确授权,否则不得复制、修改或分发。有关许可信息,请参阅artifex.com或联系Artifex Software Inc.,地址:39 Mesa Street, Suite 108A, San Francisco CA 94129, United States以获取更多信息。