Як я можу змусити програму масштабувати високу точку на дюйм?
Притворіться, що існує додаток, який розробники маніфестували його як відомий з високою точністю на дюйм, коли насправді це не так. Як я можу примусити масштабувати dpi?
Прикиньтеся, що існує програма, що Microsoft застосувала "
HighDpiAware
" суми сумісності, коли програма насправді не є. Як я можу примусити масштабувати dpi?
Як я можу змусити Windows застосувати dpi-масштабування до програми?
Редагувати: Що таке масштабування з високою точністю на дюйм?
Не всі користувачі працюють під керуванням Windows на 96dpi. Не кожна кнопка повинна бути 75x23 пікселів, не кожна панель інструментів має високу 25 пікселів, і не кожен гліф перегляду дерева становить 16x16. Якщо користувач обрав інший параметр dpi для Windows, потрібно все масштабувати відповідним чином.
Проблема полягає в тому, що майже жоден розробник не виконує свою роботу, вдало обробляючи налаштування високого формату dpi. У кращому випадку все залишиться «однакового розміру», це означає, що кожен здається маленьким крихітним . У гіршому випадку форми викладені неправильно, з вирізаним текстом, а елементи керування не видно.
Починаючи з Windows Vista і використовуючи потужність Desktop Composition, Microsoft відмовилася від розробників, які роблять свою роботу, і тепер лежать на застосуванні. Вони повідомляють додаткам, що користувач працює на 96dpi. Потім Windows використовує відеокарту та Desktop Composition для масштабування форм.
Про: вміст форми матиме приємний для читання розмір.
Кон: все буде трохи нечітко.
Ця функція "масштабування з високою точністю на дюйм" працює лише на розсуд користувача та вимагає:
- Windows Vista або новішої версії
- Композицію робочого столу потрібно включити
- користувач вимкне "Використовувати масштабування стилю Windows XP"
- користувач не відключає масштабування для вашої програми
Як розробник, ви можете відмовитися від масштабування з високою точністю на дюйм; якщо ви доклали зусиль, щоб правильно написати свою заявку, і знаєте, що ви будете правильно працювати з високою точністю на дюйм. Ви відмовитесь від цього масштабування, додавши у свій виконуваний файл маніфест, декларуючи, що ви " обізнані з високою точністю на дюйм ".
Тема, як зробити так, щоб ваша програма поважала переваги користувача (включаючи обличчя шрифту, розмір шрифту та налаштування dpi), є питанням stack overflow
. Як і синтаксис для маніфестного запису, що декларує вашу " обізнаність з високою точністю на дюйм ".
Це питання для суперкористувача полягає в тому, як ігнорувати розробника, який продовжував додавати маніфест із високою точкою на дюйм, якщо програма насправді не обізнана з високою точністю на дюйм. Вони сказали Windows відключити масштабування, але вони насправді не перевіряли програму. Існує програмне забезпечення з маніфестним записом "з високою точністю до dpi", і тепер програма непридатна для використання в "великих шрифтах" (наприклад, 120dpi).