Bonjour
J’ai un programme qui a besoin de dessiner des éléments en unité millimétrique.
J’ai une sous classe de UIView qui utilise la méthode drawRect.
Le rectangle passé en argument est un rectangle exprimé en points.
Un point est 1 pouce divisé par 72. 1 pouce est égal à 25.4 mm
Un point mesure donc en millimètre 25.4 divisé par 72.
Ma vue occupe occupe tout l’écran. Sur un iPhone 8 Plus, le rectangle fournit a une taille de 414 par 736 points.
Si j’utilise cette conversion cela donne (414 pt, 736 pt) => (146.05 mm, 259.64 mm)
D’après la fiche technique l’iphone 8 plus a un ppi (pixels par pouces) de 401.
La résolution de l’écran est de 1920 par 1080 pixels.
La dimension de l’écran en pouces est donc 1920/401 par 1080/401. Ce qui donne environ 4,788 par 2,693.
En millimètre, cela donne environ 121.61 par 68.4. Cela se vérifie physiquement sur le téléphone.
Où est mon erreur ?