Obtenir le facteur d’échelle de l’écran (screen.scale_factor)
Déclaration
local factor = screen.scale_factor()
Valeur de retour
- factor
Type numérique, rapport entre les pixels de l’écran de l’appareil actuel et les points logiques (pt)
Description
La valeur de retour sert à convertir la résolution réelle en pixels de l’écran et le système de coordonnées logiques.
Valeurs courantes : 2.0 (la plupart des iPhone et iPad Retina), 3.0 (les séries Plus/Max et les iPhone plein écran récents). Les iPhone modernes n’ont pratiquement plus de facteur 1.0 non Retina.
Utilisé avecscreen.size(), permet de convertir les dimensions en points logiques :width_pt = width_px / factor. La recherche d’image et la lecture de couleur restent basées sur les dimensions en pixels ; la conversion n’est nécessaire que pour les coordonnées de points provenant de l’interface utilisateur.
Exemple
-- Convertit la résolution en pixels en points logiques
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))
-- Ajuste les coordonnées de l’interface selon le facteur d’échelle
local x_point, y_point = 100, 200 -- Coordonnées en points provenant de l’Apple HIG ou d’une description d’interface tierce
local x_px, y_px = x_point * scale, y_point * scale
touch.tap(x_px, y_px)
Remarque : le code ci-dessus utilise les fonctions hors de ce chapitre sys.log et touch.tap