Поведение с поддержкой DPI в MATLAB

Начиная с R2015b, MATLAB® DPI, что означает, что он использует ваше полное системное разрешение, чтобы рисовать графические элементы (шрифты, пользовательские интерфейсы и графика). Графические элементы выглядят резкими и последовательными в размере на этих системах с высоким DPI:

  • Windows® системы, в которых значение отображения точек на дюйм (DPI) установлено выше 96

  • Системы Macintosh с отображениями Apple Retina

Поведение с поддержкой DPI не применяется к Linux® систем.

Ранее MATLAB позволял некоторым операционным системам масштабировать графические элементы. Это масштабирование помогло сохранить последовательный внешний вид и функциональность, но оно также внесло нежелательные эффекты. Графические элементы часто выглядели размытыми, а размер этих элементов иногда был непоследовательным.

Визуальный внешний вид

Вот визуальные эффекты, которые вы можете заметить в системах с высоким DPI:

  • Рабочий стол MATLAB, графика, шрифты и большинство компонентов пользовательского интерфейса выглядят резко и отображаются с полной графической детализацией в системах Macintosh и Windows.

  • Когда вы создаете графический или пользовательский объект и задаете Units как 'pixels'Теперь размер этого объекта соответствует размеру других объектов. Например, размер кнопки (заданный в пикселях) теперь соответствует размеру текста на этой кнопке (заданному в точках).

  • Элементы в MATLAB Toolstrip выглядят резче, чем в предыдущих релизах. Однако значки в панель инструментов все еще могут выглядеть слегка размытыми в некоторых системах.

  • В системах Windows MATLAB Toolstrip может оказаться больше, чем в предыдущих релизах.

  • В системах Windows размер шрифтов Командного окна и шрифтов Редактора может быть больше, чем в предыдущих релизах. В частности, вы можете увидеть различие, если в настройках MATLAB выбраны нерезультатные размеры шрифта. Вы, возможно, должны будете настроить эти размеры шрифтов, чтобы они выглядели меньше.

  • Вы можете увидеть различия в системах с несколькими дисплеями, которые включают комбинацию различных отображений (для примера, некоторые, но не все отображения являются высоким DPI). Графические элементы могут выглядеть по-разному при отображениях в этих системах.

Использование свойств объекта

Эти изменения свойств объекта минимизируют влияние на существующий код и позволяют MATLAB использовать полное разрешение отображения при визуализации графических элементов. Все пользовательские интерфейсы, созданные в MATLAB, автоматически являются приложениями с поддержкой DPI.

Свойство Units

Когда вы устанавливаете Units свойство графического объекта или объекта пользовательского интерфейса, чтобы 'pixels', размер каждого пикселя теперь не зависит от устройства в системах Windows и Macintosh:

  • В системах Windows 1 пиксель = 1/96 дюйма.

  • В системах Macintosh 1 пиксель = 1/72 дюйма.

  • В системах Linux размер пикселя определяется DPI отображения.

Ваша существующая графика и код пользовательского интерфейса будут продолжать функционировать правильно с новым размером пикселя. Следует иметь в виду, что установка (или запрос) размера и местоположения объекта в пикселях может не соответствовать фактическим пикселям на вашем экране.

Например, каждый пиксель экрана в 192-DPI системе Windows составляет 1/192 дюйма. В этом случае вдвое больше пикселей экрана преодолевают то же линейное расстояние, что и независимые от устройства пиксели. Если вы создаете рисунок и задаете ее размер 500 на 400 пикселей, MATLAB сообщает, что размер 500 на 400 в Position свойство. Однако отображение использует 1000 на 800 пикселей экрана, чтобы покрыть ту же графическую область.

Примечание

Начиная с R2015b, MATLAB может сообщать о размере и местоположении объектов как о дробных значениях (в пиксельных модулях) чаще, чем в предыдущих релизах. Для примера ваш код может сообщить дробные значения в Position свойство рисунка, в то время как предыдущие релизы сообщили целые числа для этой же цифры.

Свойство Root ScreenSize

The ScreenSize свойство корневого объекта может не совпадать с размером дисплея, сообщаемым системами Windows с высоким DPI. В частности, значения не совпадают, когда Units свойство корневого объекта установлено в 'pixels'. MATLAB сообщает значение ScreenSize свойство основано на пикселях, не зависящих от устройства, а не на размере фактических пикселей на экране.

Свойство Root ScreenPixelsPerInch

The ScreenPixelsPerInch свойство стало свойством только для чтения в R2015b. Если вы хотите изменить размер текста и других элементов на экране, измените настройки операционной системы.

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

get(groot,'DefaultRootScreenPixelsPerInch')
set(groot,'DefaultRootScreenPixelsPerInch')
Не удается запросить и заводское значение. Эта команда также возвращает ошибку:
get(groot,'FactoryRootScreenPixelsPerInch')

Использование функций печати, getframe и публикации

getframe и функции печати

При использовании getframe функции (или print функция со -r0 опция) в системе с высоким DPI, размер массива данных, который возвращает MATLAB, больше, чем в предыдущих релизах. Кроме того, количество элементов в массиве может не совпадать с размером фигуры в пиксельных модулях. MATLAB сообщает размер фигуры на основе пикселей, не зависящих от устройства. Однако размер массива основан на DPI отображения.

Функция публикации

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

См. также

|