2014-04-25 15 views
0

나는 많은 것을 읽은 후에이 질문을하고있다. 필자는 항상 dpi가 프린터 용이라고 들었지만 지금은 화면을 볼 때 dpi에 대해서도 이야기하고 있습니다. 그들은 ppi를 언급하고 있습니까?해상도, 안드로이드의 화면 측면에 대한 혼란

자, 실제로 해상도는 무엇이며, 각 치수가 표시 할 수있는 픽셀 수를 나타냅니다. 800x600은 가로 800 픽셀, 세로 600 픽셀을 의미하지만 일부 장소에서는 해상도를 dpi로 나타냅니다. 이 article처럼, 안드로이드에서 매우 중요한이

예를 들어

, 아이콘이 화면에 렌더링 할 때에 0.5x0.5을 의도라고 때문에 잘이 개념을 이해하기 위해 노력하고있어

. 다음으로 이미지는 지원되는 가장 큰 밀도 또는 확장 가능한 벡터 그래픽으로 만들어야합니다. 가장 좋은 방법은 현재 480 dpi에서 xxhdpi 인 최대 농도를 지원하는 것입니다. 480dpi에서 0.5x0.5 이미지는 240x240 픽셀로 변환됩니다.

제가 이해한다면 실제로 dpi를 ppi로 언급하고 있습니까?

지금까지 내가 이해 한 것은 다른 픽셀이 다른 수의 픽셀을 렌더링 할 수 있다는 것입니다. 이것이 측정 단위로 픽셀을 사용하지 않는 이유입니다. 대신 우리가 그것을

답변

1

메이트을 취소 할 수있다 (DP)가 (다시 dpi의 & PPI에 대한 혼란) 160 dpi의 장치에 하나 개의 픽셀

사람이 큰 혼란을 지우거나 기사에 저를 지시 할 수있다 (DP)를 사용, 800 x 600이라는 해상도는 화면을 렌더링하는 데 사용되는 480,000 픽셀 포인트를 가지고 있음을 의미합니다 (이것은 종종 디스플레이의 크기와 혼동됩니다). DPI 또는 PPI는 점/인치당 점을 의미하며, 이것은 화면 밀도의 척도입니다.

해상도 만 지정하면 density 매개 변수를 사용할 수없는 경우 디스플레이의 실제 길이를 확인할 수 없습니다. 따라서 800 X 600 해상도는 480,000 픽셀 포인트 인 &이며이 장치의 밀도는 480dpi입니다.

따라서 화면

= 폭/밀도에 따라 화소 점 없음

= 480분의 800

= 1.67 인치 마찬가지로

의 폭

높이 = 600/480 = 1.25 인치

및 800X600 해상도 장치의 밀도가 160dpi 인 경우 크기가 크게 달라집니다. 계산 후 160dpi에서 800X600의 높이/너비를 계산합니다. 이 두 값을 위의 480dpi 계산과 비교하십시오.

화면 의 폭 = 화소 점 없음 폭/밀도

= 160분의 800

= 5 따라.0인치

마찬가지로,

높이 = 160분의 600 = 3.75 인치

이 가장 화면에 맞게 이미지 크기 조정하는 frafmented 안드로이드 환경에 완벽에 같은 복잡한 문제가 바로 그 이유입니다, 나는 안드로이드 사랑해!

희망이 도움이됩니다. 이 답변에/delete.modify를 추가 할 사람이있는 분은 언제든지 환영합니다.

1
  1. dpi의 (인치당 도트 수) == 당신은 또한 당신에게 측정 dp 단위 승수를 제공하는 DisplayMetrics.density, 얘기
  2. PPI (인치당 픽셀 수).
  3. 사용자가 선택한 텍스트 크기도 고려한 DisplayMetrics.scaledDensity이 있습니다.

dp 단위는 화면에 표시되는 개체의 크기에 대한 보안을 제공하기위한 것입니다. 160dp는 모든 화면에서 1 인치를 나타냅니다. 이를 달성하기 위해서는 차원을 DisplayMetrics.density 또는 DisplayMetrics.scaledDensity으로 곱해야합니다.

즉 코드에서이를 수행하는 경우입니다. Layout s의 경우 의 크기를 dp에 입력하고 Android 프레임 워크에서 처리하도록 할 수 있습니다.