X-server는 DPI를 어떻게 계산합니까?


9

에서 Xfce와 문서 도구 :

X 서버 에서 계산 한 DPI (dots per inch) 값을 무시하려면 확인란을 선택하고 스핀 상자를 사용하여 화면에서 글꼴을 렌더링 할 때 사용할 해상도를 지정할 수 있습니다.

그러나 방법 X-서버는 계산합니까? 프로세스에서 어떤 가정이 이루어지고 일부 매개 변수를 무시할 수 있습니까?

내 디스플레이에 몇 개의 픽셀이 있는지 알 수 있지만 충분합니까?

답변:


8

내가 아는 한, 버전 1.7부터 xorg 기본값은96 dpi 입니다. 구성 파일을 DisplaySize통해 지정하지 않으면 아무것도 계산하지 않습니다 Xorg. 또한 xdpyinfo출력에 의존하지 마십시오 .
내 노트북은 Intel SandyBridge에서 실행됩니다. Xorg.0.log새로운 Archlinux 설치 에서 발췌 :

(==) intel(0): DPI set to (96, 96)

달리는

xdpyinfo | grep -E 'dimensions|resolution'

보고:

dimensions:    1600x900 pixels (423x238 millimeters)
resolution:    96x96 dots per inch

그것은 사실이 아닙니다. 내가 알고 내 화면 크기는 것을 344x193이렇게 분명히 mm xdpyinfo픽셀 해상도 (에 따라 실제 크기 산출 1600x900) 및 기본 96 DPI. 내가 추가하면

........
DisplaySize     344 193
........

들어 /etc/X11/xorg.conf.d/monitor.conf오고 다시 시작하면 Xorg.0.log올바르게보고합니다.

(**) intel(0): Display dimensions: (344, 193) mm
(**) intel(0): DPI set to (118, 118)

그러나 xdpyinfo | grep -E 'dimensions|resolution'항상 다음을 반환합니다.

dimensions:    1600x900 pixels (423x238 millimeters)
resolution:    96x96 dots per inch

그래도 Gnome을 사용하면서 시각적으로 변경되지 않으며에 96 DPI하드 코딩되어 gnome-settings-daemon있습니다. 후자를 패치 한 후, 나는 내 원주민을 즐길 수 있습니다 118 DPI. 그러나 결국에도 xdpyinfo여전히 다음을 반환합니다.

dimensions:    1600x900 pixels (423x238 millimeters)
resolution:    96x96 dots per inch

7

X-server는 DPI를 어떻게 계산합니까?

X 서버의 DPI는 다음과 같은 방식으로 결정됩니다.

  1. -dpi명령 줄 옵션은 가장 높은 우선 순위를가집니다.
  2. 이를 사용하지 않으면 DisplaySizeX 구성 파일 의 설정이 화면 해상도에 따라 DPI를 도출하는 데 사용됩니다.
  3. DisplaySize값을 지정 하지 않으면 DDC의 모니터 크기 값이 화면 해상도에 따라 DPI를 도출하는 데 사용됩니다.
  4. DDC가 크기를 지정하지 않으면 기본적으로 75 DPI가 사용됩니다.

내 디스플레이에 몇 개의 픽셀이 있는지 알 수 있지만 충분합니까?

아니요, 가상 화면 크기를 픽셀 단위로 알뿐만 아니라 물리적 디스플레이 크기 (밀리미터)도 알고 있습니다. 터미널 창에서 다음을 실행하여 디스플레이 크기를 확인할 수 있습니다.

 ~ $ xdpyinfo | grep dimension
dimensions:    1366x768 pixels (361x203 millimeters)

X 서버에서 수행하는 계산은 다음과 같습니다.

  • 1366 픽셀을 361 밀리미터로 나눈 값은 인치당 25.4 밀리미터 = 96.11191136 인치당 도트 (DPI)로 곱해집니다.
  • 768 픽셀을 203 밀리미터로 나눈 값은 인치당 25.4 밀리미터 = 96.09458128 도트입니다.

다음 명령을 사용하여 X 서버가 계산 한 DPI를 확인할 수 있습니다.

 ~ $ xdpyinfo | grep resolution
 resolution:    96x96 dots per inch

좋아 보이지 않나요?

더 읽을 거리 :


@ alois-mahdal 처음에는 질문을 오해 한 것 같습니다. X 서버에서 사용하는 디스플레이 크기를 추가하여 답변을 개선했습니다.
Afr

Xorg의 기본값은 모니터 해상도에 관계없이 96x96입니다. 프로그램이이 표준 dpi 용 이미지를 제공하기 때문이라고 생각합니다. 항상 이미지의 크기를 조정하여 아티팩트를 만드는 것보다 조금 쉬는 것이 좋습니다. 기본 모니터의 실제 DPI는 93.8입니다. 그러나 사용자 정의 DPI를 설정하면 DPI가 96보다 훨씬 작은 대형 HDTV와 같은 대형 디스플레이에 유용합니다.
Colin

X는 단일 화면에 대해 모니터 당 DPI 설정을 허용하지 않는 것 같습니다. DPI는 동일한 화면의 모든 모니터에서 공유됩니다. 또한 나는 주어진 xdpyinfo밀리미터가에서 밀리미터에서 합산되지 않는다는 것을 알았 습니다 xrandr --query.
CMCDragonkai

0

인치당 도트 수 = 도트 (픽셀) / 인치 (모니터의 실제 크기).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.