2009-06-26 4 views

답변

2

나는 왜 이런 일이 일어 났는지 내 머리를 완전히 감싸지는 못했지만 실제로는 정확합니다. 높이 정보로 너비를 가져 오려면 Capabilities.screenXCapabilities.screenY을 사용할 수 있습니다.

저는 Mac을 사용해야한다고 생각합니다. 72는 종종 Mac에서 dpi입니다. Win 머신에서 값은 보통 96이됩니다.

다음 인용문은 많은 도움이되었습니다. dpi 및 화면 해상도에 대한 긴 게시물의 내용은 http://www.scantips.com/no72dpi.html입니다. 게시물은 질문과 접하게 관련된 내용 일 뿐이지 만 화면 dpi의 작동 방식에 대한 정보는 도움이됩니다.

웹 브라우저는 현재 화면 크기가 1440x900 픽셀 (브라우저 창뿐 아니라 화면의 전체 전체 영역)으로 설정되었다고보고합니다. 따라서 위의 각 412x324 픽셀 이미지는 412/1440 = 너비 29 %와 324/900 = 전체 화면의 높이 36 % (현재 비디오 설정에서)에 나타납니다. 나는 이것이 사실이라도 존재하지 않는다고 쉽게 약속 할 수 있지만, 당신은 스스로 그것을 화면에서 확인할 수 있습니다. 비디오 시스템이 작동하는 방식이기 때문에 이것이 분명해 보이기를 바랍니다.

업데이트 : 좀 더 연구 한 후

- 아시다시피

에서, screenDPI 속성은 당신에게 인치 당 픽셀의 실제 번호를 제공하지 않습니다 - 당신이 동일한 값을 얻을 것이다 screenDPI은 800x600에서와 마찬가지로 1440x900으로 표시됩니다. 화면 크기를 인치 단위로 알고 있다면 실제 ppi를 계산할 수 있습니다. 물론 ActionScript에서 해당 정보를 가져올 수는 없습니다. IE에서는 자바 스크립트에서 가져올 수 있지만 그다지 도움이되지는 않습니다.

그래서 내가 알 수있는 한 이렇게 할 방법이 없습니다. 아마도 AS와 함께 응용 프로그램의 스크린 샷을 찍은 다음 화면 해상도 정보와 함께 서버로 보내고 서버가 그것을 분석하여 너비가 몇 인치인지, 응용 프로그램이 얼마나 큰지 알려주는 등의 미친 일을 할 수 있습니다. 앱의 너비와 높이가 몇 개인 지 알기 때문에 인치당 픽셀 수를 계산할 수 있습니다. 그러나, 나는 어떻게 또는 서버 응용 프로그램이 그것을 성취 할 것인지 전혀 모른다.

자바 스크립트를 통해이 문제를 해결할 수 있기를 바랍니다. div의 너비/높이를 1in으로 설정 한 다음 offsetWidth/offsetHeight를 쿼리하는 방법에 대한 게시물을 보았습니다. 그러나이 값은 screenDPI보다 좋지 않습니다. 흥미롭게도, 나는 해상도가 어떻든간에이 방법으로 96을 얻는다. 비록 내가 7234를 screenDPI에서 얻는다.

내가 알 수있는 한 화면의 크기를 인치 단위로 예고하지 않고 인치에서 실제 픽셀을 결정할 방법이 없으며 브라우저에서 해당 정보를 가져올 수 없습니다.

험머.

+0

하지만 여전히 화면 크기 dpi에 대한 내 질문에 대답하지 않습니다. 불가능한 화면 dpi를 알지 못해도 화면에 실제 크기의 눈금자를 그려보고 싶다고 가정 해보십시오. 많은 분들께 고마워요. – StfnoPad

+0

내가 말하는 것은 당신이 올바른 정보를 얻고 있다는 것입니다. 72는 화면 dpi에 대한 올바른 값입니다. 당신은 자바 스크립트를 통해 reen dpi를 얻음으로써 나 자신을 다시 확인할 수있다. 그것은 alwaus 72 승리에 맥과 96 것입니다. 다른 시스템에 대한 확신이 없습니다. 정말 재미있는 생각인데, 실제 크기의 통치자입니다. 나는 그것을 할 수있는 방법을 생각할 수 없다. 제한이 없다면 접근 방식을 게시 하시겠습니까? 물론 원하지 않는다면 완전히 이해하십시오. –

+0

DPI는 화면마다 다릅니다. 단지 당신이 3 개의 스크린을 가지고 있다고 말하면 잠시 생각해보십시오 : (1) 20 "1024x768 (2) 20"1280x768 그리고 (3) 20 "1920x1080 3 개의 스크린은 동일한 DPI를 가지고 있습니까? . 당신이 화면 dpi와 OS dpi를 가지고 있다는 것이 혼란 스럽습니다. 건배 ... – StfnoPad

1

모니터 2 대, 동일한 해상도 1280x1024 인 17 "및 19"(정확히 두 개가 있음)가 있다고 가정합니다. 즉, 픽셀 크기 (또는 정확히 1 인치에 들어 맞는 픽셀 수)를 반영하는 실제 DPI는이 두 가지 경우에 대해 다를 것입니다. 동일한 해상도의 더 작은 모니터는 더 큰 DPI 값을 갖습니다.

실제 스크립트 나 자바 스크립트에서 실제 DPI를 가져올 방법이 없다는 것을 의미합니다. 화면 너비 (1280)를 픽셀로 얻을 수는 있지만 실제로 모니터 크기를 인치로 가져올 수 없으므로이를 계산할 수 없습니다.

windows가 기본값 72와 mac96을 반환한다고 가정하지만, 불행히도 실제 값은 반영되지 않습니다.

, 예를 들어, 모든 모니터 10 인치 될 것입니다 사각형 만드는 방법이 없다는 것을 의미

: 창에서

\ 올바르게 모니터 드라이버를 설치 한 경우를, 어쩌면 당신은 얻을 수 있습니다 DPI는 모니터 드라이버에서 (즉, 당신이 얻을 수있는 것 같아요)하지만 그것은 내게 모든 브라우저/플랫폼에서 작동하도록하는 방법이 없다고 생각됩니다.