2017-01-19 2 views
2

Windows 7에서 사용할 수있는 DPI 크기 조정은 100 %, 125 %, 150 % 및 200 %입니다. http://www.techrepublic.com/blog/windows-and-office/get-a-better-view-in-windows-7-by-adjusting-dpi-scaling/DPI 실제 DPI 값에 대한 비율 조정

내가 DPI 값을 먹고 싶어 C#을 사용 :이 네 DPI 비율에 대한 실제 DPI 값은

Percentage - DPI Values 
100%  - 96 
125%  - 120 
150%  - 144 
200%  - 192 

은 DPI 스케일링에 대한 링크를 참조한다. 그래서 C# 코드에 따라 달성하려고합니다. 다음과 같이

float x=0; 
float y=0; 
Graphics gp = Graphics.FromHwnd(IntPtr.Zero);// we can also use this.CreateGraphics() 
x = gp.DpiX; 
y = gp.DpiY; 

오전, 당신은 "DPI 인식", Windows가 당신에게 거짓말을 것 같은 응용 프로그램을 선언하지 않은 경우 150 %와 200 %

100% - 96 //both x,y values 
125% - 120 //both x,y values 
**150% - 96 //both x,y values 
200% - 96 //both x,y values** 

답변

1

잘못 인 출력을 얻기 그것이 96 DPI로 설정되어 있다고 가정하고 (그렇지 않은 경우에도) 응용 프로그램 자체의 크기 조정을 처리하십시오.

당신은 SetProcessDPIAware 윈도우 API 메소드를 호출하는 응용 프로그램 매니페스트 파일 또는

  • dpiAware -entry를 추가하거나

    예는 예를 들어,이에 SO 답을 찾을 수 있습니다 더 이상 사용되지 않는 도구 : SetProcessDPIAware. 이것은 실제로 좋은 일이지만 it's hard to get it right입니다.

  • +0

    그러나 문제는 Windows XP에서는 작동하지 않는다는 것입니다. XP에서이 문제를 해결하는 방법을 pls에서 설명 할 수 있습니까? FYI : 아래의 MSDN 링크를 살펴 보았습니다. 하지만 그 명확하지. https://msdn.microsoft.com/en-us/library/dn469266(v=vs.85).aspx – Shazif

    +0

    @Shazif : "작동하지 않음"을 설명하십시오. – Heinzi