跳转至

client.scaler

scaler

类:

名称 描述
AbstractScaler

用于定义当实际设备分辨率与预期分辨率不一致时缩放行为的接口。

ProportionalScaler

等比例缩放。

LandscapeGameScaler

横屏游戏等比例缩放。

PortraitGameScaler

竖屏游戏等比例缩放。

AbstractScaler

Bases: ABC

用于定义当实际设备分辨率与预期分辨率不一致时缩放行为的接口。

该接口定义了包括缩放图像、坐标转换、比例转换在内的方法。

方法:

名称 描述
transform_screenshot

处理设备画面截图数据。

logic_to_physical

将逻辑坐标转换为物理坐标。

physical_to_logic

将物理坐标转换为逻辑坐标。

fractional_to_physical

将比例坐标转换为物理坐标。

physical_to_fractional

将物理坐标转换为比例坐标。

属性:

名称 类型 描述
physical_resolution SizeLike | None

物理分辨率 (width, height)。

logic_resolution SizeLike | None

逻辑分辨率 (width, height)。

physical_resolution instance-attribute

physical_resolution: SizeLike | None = None

物理分辨率 (width, height)。

logic_resolution instance-attribute

logic_resolution: SizeLike | None = None

逻辑分辨率 (width, height)。

transform_screenshot

transform_screenshot(screenshot: MatLike) -> MatLike

处理设备画面截图数据。

参数:

名称 类型 描述 默认
screenshot
MatLike

原始截图数据。

必需

返回:

类型 描述
MatLike

处理后的截图数据。

logic_to_physical

logic_to_physical(v: AnyPointLike) -> AnyPointLike
logic_to_physical(v: RectLike) -> RectLike
logic_to_physical(v: AnyPointLike | RectLike) -> AnyPointLike | RectLike | Any

将逻辑坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

逻辑坐标点或矩形。

必需

返回:

类型 描述
AnyPointLike | RectLike | Any

转换后的物理坐标点或矩形。

Examples

scaler.logic_to_physical(Point(10, 20)) <<< Point(..., ...) scaler.logic_to_physical(PointF(10.6, 20.5)) <<< Point(..., ...) scaler.logic_to_physical((10, 20)) <<< Point(..., ...) scaler.logic_to_physical(Rect(10, 20, 30, 40)) <<< Rect(..., ..., ..., ...) scaler.logic_to_physical((10, 20, 30, 40)) <<< Rect(..., ..., ..., ...)

physical_to_logic

physical_to_logic(v: PointLike) -> PointLike
physical_to_logic(v: RectLike) -> RectLike
physical_to_logic(v: AnyPointLike | RectLike) -> AnyPointLike | RectLike | Any

将物理坐标转换为逻辑坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
AnyPointLike | RectLike | Any

转换后的逻辑坐标点或矩形。

Examples

见 :meth:logic_to_physical

fractional_to_physical

fractional_to_physical(v: PointLike) -> PointLike
fractional_to_physical(v: RectLike) -> RectLike
fractional_to_physical(v: AnyPointLike | RectLike) -> AnyPointLike | RectLike | Any

将比例坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

比例坐标点或矩形。

必需

返回:

类型 描述
AnyPointLike | RectLike | Any

转换后的物理坐标点或矩形。

Examples

见 :meth:logic_to_physical

physical_to_fractional

physical_to_fractional(v: PointLike) -> PointLike
physical_to_fractional(v: RectLike) -> RectLike
physical_to_fractional(v: AnyPointLike | RectLike) -> AnyPointLike | RectLike | Any

将物理坐标转换为比例坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
AnyPointLike | RectLike | Any

转换后的比例坐标点或矩形。

Examples

见 :meth:logic_to_physical

ProportionalScaler

Bases: AbstractScaler

等比例缩放。

支持在物理分辨率和逻辑分辨率之间进行等比例缩放转换。 仅支持等比例缩放,若无法等比例缩放,则会抛出异常。

方法:

名称 描述
__init__

初始化等比例缩放器。

transform_screenshot

处理设备画面截图数据,将物理分辨率缩放到逻辑分辨率。

logic_to_physical

将逻辑坐标转换为物理坐标。

physical_to_logic

将物理坐标转换为逻辑坐标。

fractional_to_physical

将比例坐标转换为物理坐标。

physical_to_fractional

将物理坐标转换为比例坐标。

属性:

名称 类型 描述
match_rotation

分辨率缩放是否自动匹配旋转。

aspect_ratio_tolerance

宽高比容差阈值。

scale_ratio float

获取物理分辨率相对于逻辑分辨率的缩放比例。

physical_resolution SizeLike | None

物理分辨率 (width, height)。

logic_resolution SizeLike | None

逻辑分辨率 (width, height)。

match_rotation instance-attribute

match_rotation = match_rotation

分辨率缩放是否自动匹配旋转。 当目标与真实分辨率的宽高比不一致时,是否允许通过旋转(交换宽高)后再进行匹配。

True 表示忽略方向差异,只要宽高比一致就视为可缩放;False 表示必须匹配旋转。

aspect_ratio_tolerance instance-attribute

aspect_ratio_tolerance = aspect_ratio_tolerance

宽高比容差阈值。

判断两分辨率宽高比差异是否接受的阈值。 该值越小,对比例一致性的要求越严格。默认为 0.1(即 10% 容差)。

scale_ratio property

scale_ratio: float

获取物理分辨率相对于逻辑分辨率的缩放比例。

由于是等比例缩放,长宽的缩放比例应当一致(在容差范围内)。

physical_resolution instance-attribute

physical_resolution: SizeLike | None = None

物理分辨率 (width, height)。

logic_resolution instance-attribute

logic_resolution: SizeLike | None = None

逻辑分辨率 (width, height)。

__init__

__init__(match_rotation: bool = True, aspect_ratio_tolerance: float = 0.1)

初始化等比例缩放器。

transform_screenshot

transform_screenshot(screenshot: MatLike) -> MatLike

处理设备画面截图数据,将物理分辨率缩放到逻辑分辨率。

参数:

名称 类型 描述 默认
screenshot
MatLike

原始截图数据。

必需

返回:

类型 描述
MatLike

处理后的截图数据。

logic_to_physical

logic_to_physical(v: AnyPointLike | RectLike) -> Any

将逻辑坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

逻辑坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的物理坐标点或矩形。

physical_to_logic

physical_to_logic(v: AnyPointLike | RectLike) -> Any

将物理坐标转换为逻辑坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的逻辑坐标点或矩形。

fractional_to_physical

fractional_to_physical(v: AnyPointLike | RectLike) -> Any

将比例坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

比例坐标点或矩形(0-1范围)。

必需

返回:

类型 描述
Any

转换后的物理坐标点或矩形。

physical_to_fractional

physical_to_fractional(v: AnyPointLike | RectLike) -> Any

将物理坐标转换为比例坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的比例坐标点或矩形(0-1范围)。

LandscapeGameScaler

Bases: ProportionalScaler

横屏游戏等比例缩放。

对于横屏的游戏,通常若两个分辨率的长边一致,那么画面中元素大小也一致。 因此此缩放器会根据长边进行等比例缩放判断。

方法:

名称 描述
__init__

初始化横屏等比例缩放器。

transform_screenshot

处理设备画面截图数据,将物理分辨率缩放到逻辑分辨率。

logic_to_physical

将逻辑坐标转换为物理坐标。

physical_to_logic

将物理坐标转换为逻辑坐标。

fractional_to_physical

将比例坐标转换为物理坐标。

physical_to_fractional

将物理坐标转换为比例坐标。

属性:

名称 类型 描述
physical_resolution SizeLike | None

物理分辨率 (width, height)。

logic_resolution SizeLike | None

逻辑分辨率 (width, height)。

match_rotation

分辨率缩放是否自动匹配旋转。

aspect_ratio_tolerance

宽高比容差阈值。

physical_resolution instance-attribute

physical_resolution: SizeLike | None = None

物理分辨率 (width, height)。

logic_resolution instance-attribute

logic_resolution: SizeLike | None = None

逻辑分辨率 (width, height)。

match_rotation instance-attribute

match_rotation = match_rotation

分辨率缩放是否自动匹配旋转。 当目标与真实分辨率的宽高比不一致时,是否允许通过旋转(交换宽高)后再进行匹配。

True 表示忽略方向差异,只要宽高比一致就视为可缩放;False 表示必须匹配旋转。

aspect_ratio_tolerance instance-attribute

aspect_ratio_tolerance = aspect_ratio_tolerance

宽高比容差阈值。

判断两分辨率宽高比差异是否接受的阈值。 该值越小,对比例一致性的要求越严格。默认为 0.1(即 10% 容差)。

__init__

__init__(aspect_ratio_tolerance: float = 0.1)

初始化横屏等比例缩放器。

transform_screenshot

transform_screenshot(screenshot: MatLike) -> MatLike

处理设备画面截图数据,将物理分辨率缩放到逻辑分辨率。

参数:

名称 类型 描述 默认
screenshot
MatLike

原始截图数据。

必需

返回:

类型 描述
MatLike

处理后的截图数据。

logic_to_physical

logic_to_physical(v: AnyPointLike | RectLike) -> Any

将逻辑坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

逻辑坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的物理坐标点或矩形。

physical_to_logic

physical_to_logic(v: AnyPointLike | RectLike) -> Any

将物理坐标转换为逻辑坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的逻辑坐标点或矩形。

fractional_to_physical

fractional_to_physical(v: AnyPointLike | RectLike) -> Any

将比例坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

比例坐标点或矩形(0-1范围)。

必需

返回:

类型 描述
Any

转换后的物理坐标点或矩形。

physical_to_fractional

physical_to_fractional(v: AnyPointLike | RectLike) -> Any

将物理坐标转换为比例坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的比例坐标点或矩形(0-1范围)。

PortraitGameScaler

Bases: ProportionalScaler

竖屏游戏等比例缩放。

对于竖屏的游戏,通常以短边(宽度)为基准进行缩放。

方法:

名称 描述
__init__

初始化竖屏等比例缩放器。

transform_screenshot

处理设备画面截图数据,将物理分辨率缩放到逻辑分辨率。

logic_to_physical

将逻辑坐标转换为物理坐标。

physical_to_logic

将物理坐标转换为逻辑坐标。

fractional_to_physical

将比例坐标转换为物理坐标。

physical_to_fractional

将物理坐标转换为比例坐标。

属性:

名称 类型 描述
physical_resolution SizeLike | None

物理分辨率 (width, height)。

logic_resolution SizeLike | None

逻辑分辨率 (width, height)。

match_rotation

分辨率缩放是否自动匹配旋转。

aspect_ratio_tolerance

宽高比容差阈值。

physical_resolution instance-attribute

physical_resolution: SizeLike | None = None

物理分辨率 (width, height)。

logic_resolution instance-attribute

logic_resolution: SizeLike | None = None

逻辑分辨率 (width, height)。

match_rotation instance-attribute

match_rotation = match_rotation

分辨率缩放是否自动匹配旋转。 当目标与真实分辨率的宽高比不一致时,是否允许通过旋转(交换宽高)后再进行匹配。

True 表示忽略方向差异,只要宽高比一致就视为可缩放;False 表示必须匹配旋转。

aspect_ratio_tolerance instance-attribute

aspect_ratio_tolerance = aspect_ratio_tolerance

宽高比容差阈值。

判断两分辨率宽高比差异是否接受的阈值。 该值越小,对比例一致性的要求越严格。默认为 0.1(即 10% 容差)。

__init__

__init__(aspect_ratio_tolerance: float = 0.1)

初始化竖屏等比例缩放器。

transform_screenshot

transform_screenshot(screenshot: MatLike) -> MatLike

处理设备画面截图数据,将物理分辨率缩放到逻辑分辨率。

参数:

名称 类型 描述 默认
screenshot
MatLike

原始截图数据。

必需

返回:

类型 描述
MatLike

处理后的截图数据。

logic_to_physical

logic_to_physical(v: AnyPointLike | RectLike) -> Any

将逻辑坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

逻辑坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的物理坐标点或矩形。

physical_to_logic

physical_to_logic(v: AnyPointLike | RectLike) -> Any

将物理坐标转换为逻辑坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的逻辑坐标点或矩形。

fractional_to_physical

fractional_to_physical(v: AnyPointLike | RectLike) -> Any

将比例坐标转换为物理坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

比例坐标点或矩形(0-1范围)。

必需

返回:

类型 描述
Any

转换后的物理坐标点或矩形。

physical_to_fractional

physical_to_fractional(v: AnyPointLike | RectLike) -> Any

将物理坐标转换为比例坐标。

参数:

名称 类型 描述 默认
v
AnyPointLike | RectLike

物理坐标点或矩形。

必需

返回:

类型 描述
Any

转换后的比例坐标点或矩形(0-1范围)。