Jak zmusić aplikację do skalowania w wysokiej rozdzielczości?
Udawaj, że istnieje aplikacja, której twórcy zamanifestowali ją jako świadomą wysokiej rozdzielczości, kiedy tak naprawdę nie jest. Jak wymusić skalowanie dpi?
Udawaj, że istnieje aplikacja, w której Microsoft zastosował
HighDpiAware
podkładkę kompatybilności, gdy aplikacja tak naprawdę nie jest. Jak wymusić skalowanie dpi?
Jak zmusić system Windows do zastosowania skalowania dpi w aplikacji?
Edycja: Co to jest skalowanie w wysokiej rozdzielczości?
Nie wszyscy użytkownicy korzystają z systemu Windows o rozdzielczości 96dpi. Nie każdy przycisk powinien mieć 75 x 23 pikseli, nie każdy pasek narzędzi ma 25 pikseli wysokości i nie każdy glif widoku drzewa ma wymiary 16 x 16 pikseli. Jeśli użytkownik wybrał inne ustawienie dpi dla systemu Windows, musisz odpowiednio skalować wszystko.
Problem polega na tym, że prawie żaden programista nie wykonuje swojej pracy, ładnie obsługując ustawienia wysokiej rozdzielczości. W najlepszym razie wszystko pozostanie „tego samego rozmiaru”, co oznacza, że każdy wygląda na malutki . W najgorszym przypadku formularze są niepoprawnie rozmieszczone, z obciętym tekstem i niewidocznymi kontrolkami.
Począwszy od systemu Windows Vista i wykorzystując moc kompozycji pulpitu, Microsoft zrezygnował z pracy programistów, a teraz okłamuje aplikację. Informują aplikacje, że użytkownik działa w rozdzielczości 96dpi. Następnie system Windows używa karty graficznej i kompozycji pulpitu do skalowania formularzy.
Pro: zawartość formularza będzie przyjemnie czytelna.
Con: wszystko będzie nieco rozmyte.
Ta funkcja „skalowania w wysokiej rozdzielczości” działa tylko według uznania użytkownika i wymaga:
- Windows Vista lub nowszy
- Kompozycja pulpitu do włączenia
- użytkownik wyłączy „Użyj skalowania stylu Windows XP”
- użytkownik nie wyłącza skalowania aplikacji
Jako programista możesz zrezygnować ze skalowania w wysokiej rozdzielczości; jeśli dołożyłeś starań, aby poprawnie napisać aplikację i wiesz, że odpowiednio poradzisz sobie z wysoką rozdzielczością. Użytkownik rezygnuje z tego skalowania, dodając wpis manifestu do pliku wykonywalnego, deklarując, że jest „ świadomy wysokiej rozdzielczości ”.
Pytanie, w jaki sposób dostosować aplikację do preferencji użytkownika (w tym czcionki, rozmiaru czcionki i ustawienia dpi), jest pytaniem stack overflow
. Podobnie jak składnia wpisu manifestu deklarującego „ świadomość wysokiej rozdzielczości ”.
To pytanie, dotyczące superużytkownika , brzmi: jak zignorować programistę, który poszedł naprzód i dodał wpis manifestu w wysokiej rozdzielczości, kiedy w rzeczywistości aplikacja nie jest świadoma w wysokiej rozdzielczości. Kazali Windowsowi wyłączyć skalowanie, ale tak naprawdę nie przetestowali aplikacji. Istnieje oprogramowanie z wpisem manifestu „rozpoznawanie wysokiej rozdzielczości”, a teraz aplikacja nie nadaje się do użytku pod „dużymi czcionkami” (np. 120dpi).