응용 프로그램을 고해상도 DPI로 만들려면 어떻게해야합니까?
개발자가 실제로 그렇지 않은 경우 응용 프로그램이 높은 DPI 인식으로 표시된 것으로 가정합니다. dpi 스케일링을 어떻게 강제 할 수 있습니까?
HighDpiAware
응용 프로그램이 실제로 없을 때 Microsoft가 " "호환 심을 적용한 응용 프로그램이 있다고 가정 합니다. dpi 스케일링을 어떻게 강제 할 수 있습니까?
Windows에서 응용 프로그램에 dpi 배율을 적용하도록하려면 어떻게해야합니까?
편집 : 높은 DPI 스케일링이란 무엇입니까?
모든 사용자가 96dpi에서 Windows를 실행하는 것은 아닙니다. 모든 버튼이 75x23 픽셀 인 것은 아니며 모든 툴바의 높이가 25 픽셀 인 것은 아니며 모든 트 리뷰 글리프가 16x16 인 것은 아닙니다. 사용자가 Windows에 대해 다른 dpi 설정을 선택한 경우 모든 것을 적절하게 조정해야합니다.
문제는 높은 DPI 설정을 잘 처리하여 개발자가 거의 작업을 수행하지 않는다는 것입니다. 기껏해야 모든 것이 "동일한 크기"를 유지합니다. 즉, 모든 것이 조그마하게 나타납니다 . 최악의 경우 텍스트가 잘리고 컨트롤이 표시되지 않는 형식이 잘못 배치됩니다.
Windows Vista를 시작으로 Desktop Composition의 강력한 기능을 활용하여 Microsoft는 개발자가 업무를 수행하는 것을 포기하고 이제는 응용 프로그램에 속합니다. 그들은 사용자가 96dpi에서 실행 중임을 앱에 알려줍니다. 그런 다음 Windows는 비디오 카드와 데스크탑 구성을 사용하여 양식을 확장합니다.
찬성 : 폼의 내용은 읽기 좋은 크기가 될 것입니다.
단점 : 모든 것이 약간 흐릿합니다.
이 "높은 DPI 스케일링"기능은 사용자의 판단에 따라 작동하며 다음이 필요합니다.
- Windows Vista 이상
- 사용 가능한 데스크톱 구성
- "Windows XP 스타일 스케일링 사용"을 끄려면
- 사용자는 응용 프로그램에 대한 스케일링을 비활성화하지 않습니다
개발자는 높은 DPI 스케일링을 거부 할 수 있습니다. 응용 프로그램을 제대로 작성하려고 노력했지만 높은 DPI를 올바르게 처리 할 수 있다는 것을 알고 있다면 실행 파일에 매니페스트 항목을 추가하고 " 높은 수준의 DPI "를 선언함으로써이 스케일링을 해제 할 수 있습니다 .
응용 프로그램에서 사용자의 기본 설정 (글꼴, 글꼴 크기 및 dpi 설정 포함)을 존중하도록 하는 방법 에 대한 주제 는 의문입니다 stack overflow
. " 높은 DPI 인식 "을 선언하는 매니페스트 항목의 구문도 마찬가지 입니다.
이 질문은 수퍼 유저 에서 실제로 응용 프로그램 이 높은 DPI를 인식 하지 못하는 경우 높은 DPI 인식 매니페스트 항목을 추가 한 개발자 를 무시 하는 방법 입니다. 그들은 Windows에게 스케일링을 비활성화하라고 지시했지만 실제로 애플리케이션을 테스트하지는 않았습니다. "높은 DPI 인식"매니페스트 항목 이있는 소프트웨어가 있으며 이제 "큰 글꼴"(예 : 120dpi)에서 응용 프로그램을 사용할 수 없습니다.