2015-11-18 1 views
2

Je suppose que la terminologie pixels indépendants de la densité et pixels indépendants du dispositif, ont la même signification.Comment calculer des unités de pixels indépendantes du périphérique?

Les pixels indépendants de la densité (DIP) sont une unité de pixel virtuelle, équivalente à un pixel physique sur un écran 160dpi (MDPI).

4dip320dpi est equivalant à (XHDPI) écran, car le nombre de pixels utilisés pour rendre les mêmes données à l'écran 320dpi est 4 (2 pixels de large et de 2 pixels vers le bas).

Comment puis-je calculer des unités de pixels en mode plongée pour l'écran 240dpi (HDPI)?

+0

en double ?: http://stackoverflow.com/questions/5591868/android-pixels-to-dips/16660172#16660172 – Kuffs

Répondre

1

HDPI est x1,5 pour MDPI.

C'est 160x1.5 = 240.

Sur l'appareil IPSM, qui est la norme pour l'unité d'immersion, 1dip est 1px. Sur un périphérique HDPI, 1dip de taille identique est 1,5px. Lorsque vous connaissez d'abord une valeur px, vous pouvez la convertir en en divisant par exemple son échelle, par exemple, l'échelle de HDPI est de 1,5 que vous pouvez diviser la valeur px par 1,5.

Pour le même 2dip, HDPI a 3px de travers et vers le bas alors que MDPI a 2px de travers et vers le bas.

2dip => 2px on MDPI 
2dip => 2 x 1.5 = 3px on HDPI 

Le concept de dip est que 1 signifie plongeur taille physique de 1/160 pouce approxmately, il y a une taille physique commun par tous ces dispositifs qui ont des densités différentes de pixels.

+0

la valeur dans les unités «dip»? '1.5dip'? Si oui, comment interpréter '1.5dip'? Je veux dire que '4dip' est de 2 pixels de diamètre et de 2 pixels de moins. – overexchange

+0

@overexchange J'ai mis à jour ma réponse. Que cela aide. – hata

+0

je ne suis toujours pas clair. Comment interpréter, quand je dis 3dip sur MDPI? Est-ce 3 pixels physiques sur un écran de 160 dpi? Si oui, qu'est-ce que cela signifie? – overexchange

0

Vous pouvez utiliser des calculatrices DPI telles que one. Vous pouvez vérifier http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/#screen-densities-and-icon-dimensions pour le rapport d'échelle DPI. En utilisant ceci, HDPI = MDPI x 1.5, dans votre cas, la valeur sera 240

+0

Je cherche pas calculatrice, je cherche le processus de calcul? – overexchange

+0

MDPI X 1.5 = XHDPI – jomartigcal

+0

Vous pouvez vérifier ici le rapport d'échelle dpi: http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/#screen-densities-and-icon-dimensions – jomartigcal

0

Vous pouvez utiliser cette fonction pour obtenir une valeur de pixel de dp en tenant compte des mesures de périphérique en cours.

public int dpToPx(int dp){ 
    return Math.round(dp*(getResources().getDisplayMetrics().xdpi/ DisplayMetrics.DENSITY_DEFAULT)); 
}