Lấy hệ số tỷ lệ màn hình (screen.scale_factor)
Khai báo
local factor = screen.scale_factor()
Giá trị trả về
- factor
Số chỉ tỷ lệ giữa pixel thiết bị và điểm logic (pt)
Mô tả
Sử dụng giá trị trả về để chuyển đổi giữa độ phân giải pixel vật lý và hệ tọa độ logic.
Các giá trị phổ biến: 2.0 (nhiều iPhone và iPad Retina), 3.0 (mô hình Plus/Max và iPhone màn hình toàn bộ gần đây). iPhone hiện đại ít khi sử dụng tỷ lệ không Retina 1.0.
Kết hợp vớiscreen.size()để suy ra kích thước logic:width_pt = width_px / factor. Tìm kiếm hình ảnh và lấy mẫu màu vẫn hoạt động với kích thước pixel; chỉ khi làm việc với tọa độ UI dựa trên điểm mới cần chuyển đổi.
Ví dụ
-- Chuyển đổi độ phân giải pixel thành điểm logic
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("Độ phân giải pixel: %dx%d, tỷ lệ: %.1fx, điểm logic: %.0fx%.0f", w_px, h_px, scale, w_pt, h_pt))
-- Điều chỉnh tọa độ giao diện dựa trên tỷ lệ
local x_point, y_point = 100, 200 -- Tọa độ trong điểm từ Apple HIG hoặc các tiêu chuẩn UI bên thứ ba
local x_px, y_px = x_point * scale, y_point * scale
touch.tap(x_px, y_px)
Lưu ý: Ví dụ sử dụng các hàm ngoài chương này: sys.log, touch.tap