跳到主要内容

获取屏幕缩放因子 (screen.scale_factor)

声明​

local factor = screen.scale_factor()

返回值​

  • factor 数值型,表示当前设备屏幕像素与逻辑点 (pt) 之间的倍率

说明​

返回值用于在屏幕实际像素分辨率与逻辑坐标系之间进行换算。

常见值:1.0(部分低分辨率设备)、2.0(主流 1080P 设备)、3.0(高分辨率设备)。Android 设备的缩放因子取决于屏幕密度(DPI)。

screen.size() 联用可折算逻辑点尺寸:width_pt = width_px / factor。找图、取色依旧基于像素尺寸,只有在处理基于 UI 的点坐标时才需要转换。

示例​

-- 将像素分辨率换算成逻辑点
local w_px, h_px = screen.size()
local scale = screen.scale_factor()
local w_pt, h_pt = w_px / scale, h_px / scale

sys.log(string.format("像素分辨率: %dx%d, 倍率: %.1fx, 逻辑点: %.0fx%.0f", w_px, h_px, scale, w_pt, h_pt))

-- 根据缩放因子调整 UI 坐标
local x_point, y_point = 100, 200 -- 来源于 UI 设计或第三方描述的点坐标
local x_px, y_px = x_point * scale, y_point * scale

touch.tap(x_px, y_px)

:上述代码中使用了非本章函数 sys.logtouch.tap