Вопрос

У меня есть приложение MFC с некоторыми растровыми изображениями, диалоговыми окнами и меню.В настоящее время он поддерживает только одно разрешение монитора (1280x1024).Я планирую добавить к нему поддержку другого разрешения монитора.Чтобы сделать это, я предполагаю, что мне нужно загрузить растровые изображения с разным разрешением, изменить размер шрифта и т.д.Мой вопрос в том, как они обрабатываются в типичном приложении Windows?Используют ли они одно растровое изображение и растягивают / сжимают его в соответствии с разрешением монитора или на самом деле имеют разный набор растровых изображений в ресурсе и загружают их динамически в зависимости от разрешения?Есть ли какое-нибудь стандартное решение для этого?

Нет правильного решения

Другие советы

В прошлом я использовал одно большое изображение и соответственно масштабировал его.

Убедиться, что меню и диалоговые окна изменяют размер, сложно, но в CodeProject есть вспомогательные коды, которые могли бы помочь.

Я бы сказал, использовать несколько ресурсов с разными разрешениями.Хотя вы можете масштабировать значки динамически, они, вероятно, будут выглядеть лучше, если вы измените их размер в соответствующей программе редактирования изображений.

Значки меню и панели инструментов обычно отображаются с одинаковым количеством пикселей независимо от разрешения экрана.Таким образом, меню и панели инструментов занимают меньшую долю экрана по мере увеличения разрешения.

Я не думаю, что существует какой-либо стандартный способ обработки различных разрешений, когда речь идет о растровых изображениях.

Я бы также убедился, что ваше приложение работает с масштабированием точек на дюйм в Windows.Это может быть лучшей альтернативой при работе на дисплеях с более высоким разрешением вместо необходимости перепроектировать приложение в соответствии с определенным разрешением.

Масштабирование растровых изображений будет выглядеть плохо (увеличение их размера всегда будет выглядеть плохо, уменьшение их размера зависит от источника).Если возможно, посмотрите, сможете ли вы составить свое большое растровое изображение из нескольких растровых изображений меньшего размера, которые можно хорошо масштабировать.Часто довольно легко создать растровое изображение, которое можно красиво масштабировать в одном направлении.Например, если вы хотите создать рамку вокруг чего-либо, вместо того чтобы использовать одно растровое изображение, разрежьте его, как доску для игры в крестики-нолики, на 9 частей.четыре угловые части остаются прежнего размера, верхняя и нижняя части растягиваются по горизонтали, левая и правая - по вертикали, а центр перемещается в обоих направлениях (если он вообще используется).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top