Qui n’en veut du pixel ? Part.2

Le début de l’article: Qui n’en veut du pixel ? Part.1


Sujet du jour: le pixel indépendant des appareils (Device-independent pixel, dip)

Rappel de la définition sur Google developers :

“une mise à l’échelle des pixels de l’appareil pour correspondre à un pixel de référence uniforme avec un éloignement d’écran normal, qui doit faire à peu près la même taille sur tous les appareils. Un iPhone 5 mesure 320 dips de large.”

Je ne sais pas si c’est clair pour tout le monde… pour moi c’est pas le cas…

Une petite recherche sur “pixel indépendant des appareils” ne donne rien.  Par contre avec “Device-independent pixel” on a une micro info sur le Wikipédia (anglais):

“A Device independent pixel (also: density-independent pixel, dip, dp) is a physical unit of measurement based on a co-ordinate system held by a computer and represents an abstraction of a pixel for use by an application that an underlying system then converts to physical pixels.”

Je m’arrête là. C’est pas beaucoup plus clair mais j’obtiens déjà que:

pixel indépendant des appareils = Device-independent pixel  =
density-independent pixel = dip = dp

et du coup ça me rappelle quelque chose que j’ai vu hier cette fois sur developer.android.com:

“Density-independent pixel (dp)
A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way.

The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a “medium” density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units when defining your application’s UI, to ensure proper display of your UI on screens with different densities.”

Aïe………………

On va essayer de traduire:

C'est une unité de pixel virtuel que vous devez utiliser lors de la définition de la mise en page de l'Interface Utilisateur, pour exprimer les dimensions de mise en page ou la position d'une manière indépendante de la densité .

    Le density-independent pixel équivaut à un pixel physique sur un écran de 160dpi , qui est la densité de base prise en charge par le système pour un écran de densité «moyenne» . Lors de l'exécution , le système traite de manière transparente toute mise à l'échelle des unités dp , le cas échéant , sur la base de la densité réelle de l'écran en cours d'utilisation. La conversion d'unités de dp à l'écran pixels est simple: 
px = dp * ( dpi / 160 ) 
Par exemple , sur un écran 240 dpi , 1 dp est égal à 1,5 pixels physiques . 

Vous devriez toujours utiliser des unités dp lors de la définition de l'interface utilisateur de votre application , pour assurer le bon affichage de l'interface utilisateur sur les écrans avec des densités différentes .

Ouaip… Donc on a :

1 dp ou dip = 1px (matériel, physique, “de base”) sur un écran de 160dpi

Et demain, on fait des maths ! Et puis on cherchera un peu à quoi ça sert vraiment de savoir tout ça …

En attendant: une petite parenthèse me semble nécessaire:


Attention à ne pas confondre dip et dpi !

Rappel: DIP=device-independent pixel ou density-independent pixel

DPI= dot per inch = point par pouce (PPP)

Le DPI est une unité à l’origine réservée à l’impression: c’est le nombre de points d’encre qu’une imprimante peut imprimer sur 1 pouce (2,54cm).

Cette unité est maintenant utilisée pour parler de la résolution des écrans.

Résolution= longueur (ou largeur) de l'”image écran” en pixels/longueur (ou largeur) du moniteur en pouces

Ex:
mon écran a une définition de 1920px x 1080px
La taille de mon écran fait 20 pouces x 11.3 pouces
La résolution de mon écran fait:
1920px/20pouces=96dpi
ou 1080 px /11.3pouces=95,575 dpi  càd environ 96dpi

Pour info Google (Android) catégorise les écrans de smartphone de la façon suivante:

ldpi     Resources for low-density (ldpi) screens (~120dpi).
mdpi     Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)
hdpi     Resources for high-density (hdpi) screens (~240dpi).
xhdpi     Resources for extra-high-density (xhdpi) screens (~320dpi).
xxhdpi     Resources for extra-extra-high-density (xxhdpi) screens (~480dpi).
xxxhdpi     Resources for extra-extra-extra-high-density (xxxhdpi) uses (~640dpi). Use this for the launcher icon only, see note above.


 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Merci de renseigner le captcha ! * Time limit is exhausted. Please reload CAPTCHA.