2010-02-21 3 views
0

이미지를 실제 크기로 표시해야하는 이미지를 표시하는 MFC 응용 프로그램이 있습니다. 예를 들어 이미지에 캡처 된 객체의 실제 길이가 표시된 길이와 같아야합니다. . 예를 들어, 5cm 길이의 물체를 포착 한 경우 이미지를 표시해야합니다. 즉, 크기를 측정하고 모니터에서 길이를 측정 할 때 5cm가되어야합니다. 나는 이미지의 픽셀 사이의 거리를 안다. 그러나 나는 다른 유형의 모니터에 이러한 이미지를 표시해야합니다. 모니터의 픽셀 사이의 물리적 거리를 얻으려면 어떻게해야합니까? 모든 단서? 아니면 그것을 구현하는 다른 방법이 있습니까?트루 사이즈 디스플레이 구현

답변

1

적절한 방법은 GetDeviceCapsLOGPIXELSXLOGPIXELSY으로 호출하는 것입니다. 그러나 화면 장치 컨텍스트의 경우 값이 96으로 설정 될 가능성이 매우 높습니다 (컨트롤 패널에서 사용자가 설정 함). 이 기능은 프린터 DC에 잘 작동합니다.

+0

그러나 그것들은 단지 논리 값입니까? 내 육체적 인 측정을 위해 그것을 의지 할 수 있습니까? – Naveen

+0

아니요 - 너무 많은 코드가 손상되었습니다. 그리고 사용자는 텍스트를 읽을 수 없을 때 다른 글꼴 크기를 선택하는 대신이를 남용합니다. 그러나 여전히 당신이 할 수있는 최선의 방법입니다. – MSalters

+0

값은 프린터의 인치당 물리적 ​​픽셀 수를 나타냅니다. 디스플레이의 경우 값은 사용자가 설정 한 값이므로 아니요, 그 값에 의존 할 수 없습니다. 시스템은 모니터의 픽셀 밀도를 감지 할 방법이 없으며 EDID 블록에 저장되지 않습니다. – avakar

0

모니터의 크기를 알아야합니다. 당신이 이것을 할 수없는 크기를 입력하도록 사용자에게 요구하는 것의 부족.