본문 바로가기
Programming/Android

안드로이드 치수 정리, dpi, dp, dip, sp, pt px, mm, in

by 신규하 2011. 10. 6.

dpi (Dots Per Inch )

1인치(2.54 센티미터)에 들어 있는 픽셀의 수. 안드로이드에서는 160을 기본으로 한다.

참고 : http://en.wikipedia.org/wiki/Dots_per_inch



dp 또는 dip (Density-independent Pixels)

화면의 크기를 기준으로 표시. 어떤 화면의 크기에서도 동일한 크기를 표시 하게 된다.
스크린의 픽셀과  dp가 160인 경우에는 1dp는 1pixel과 같다. 그러나 dpi가 240인 경우에는 1dp는 1.5pixel이 된다.

계산 공식은 아래와 같다

dp = pixel / (density / 160)

내 화면의 dp를 구하기 위해서는 아래와 같이 WindowManager를 쓰면 된다.

DisplayMetrics outMetrics = new DisplayMetrics();    getWindowManager().getDefaultDisplay().getMetrics(outMetrics);

int sum = outMetrics.densityDpi;




sp (Scale-independent Pixels)

dp의 비슷하다. 다만 사용자가 선택한 글꼴 크기에 의해 크기가 조절된다.




pt

1/72 인치 기반의 물리적 화면 사이즈, 인쇄에서 쓰이던 크기, 안드로이드 화면에서는 잘 사용되지 않는다.



px (Pixels)

스크린의 실제 픽셀 단위를 사용. 실제 크기나 밀도와 상관 없음




mm (Millimeters)

화면의 물리적 사이즈 기반으로 밀리미터를 사용



in (Inches)

화면의 물리적 사이즈 기반으로 인치를 사용




비교표



저해상도 화면 고해상도 화면에 같은 크기
물리적 넓이 1.5 인치 1.5 인치
dpi (Dots Per Inch) 160 240
px (Pixels) 240 360
밀도 (기본값 160) 1.0 1.5
dip 또는 dp (Density-independent Pixels) 240 240
sip 또는 sp
(Scale-independent pixels)
사용자 폰트 설정 사이즈 따름 동일
px (Pixels) 40픽셀을 1인치에 표시 40픽셀을 0.66인치에 표시
mm (Millimeters) 1 밀리미티 1밀리미티
in (Inches) 1 인치 1인치

참고로 아래는 DPI의 치수를 편하게 계산해 주는 사이트 입니다.

http://members.ping.de/~sven/dpi.html  

댓글