Начиная в R2015b, MATLAB® является учитывающим DPI, что означает, что это использует в своих интересах ваше полное системное разрешение, чтобы чертить графические элементы (шрифты, UIs и графика). Графические элементы кажутся резкими и сопоставимыми в размере в этих системах с высоким разрешением:
Системы Windows®, в которых значение точек на дюйм (DPI) отображения установлено выше, чем 96
Системы Macintosh с отображениями Apple Retina
Учитывающее DPI поведение не применяется к системам Linux®.
Ранее MATLAB позволял некоторым операционным системам масштабировать графические элементы. То масштабирование помогло обеспечить сопоставимый внешний вид и функциональность, но это также ввело нежелательные эффекты. Графические элементы часто выглядели расплывчатыми, и размер тех элементов был иногда противоречив.
Вот визуальные эффекты, которые вы можете заметить в системах с высоким разрешением:
Рабочий стол MATLAB, графика, шрифты и большинство компонентов пользовательского интерфейса выглядят резкими и рендеринг с полной графической деталью о системах Windows и Macintosh.
Когда вы создаете графический объект или объект пользовательского интерфейса, и задаете Units
как 'pixels'
, размер того объекта теперь сопоставим с размером других объектов. Например, размер кнопки (заданный в пикселях) теперь сопоставим с размером текста на той кнопке (заданный в точках).
Элементы в Панели инструментов MATLAB выглядят более резкими, чем в предыдущих релизах. Однако значки в Панели инструментов могут все еще выглядеть немного расплывчатыми в некоторых системах.
В системах Windows Панель инструментов MATLAB может казаться больше, чем в предыдущих релизах.
В системах Windows размер шрифтов Командного окна и шрифтов Редактора может быть больше, чем в предыдущих релизах. В частности, вы можете видеть различие, если вам выбрали размеры шрифта не по умолчанию в настройках MATLAB. Вы можете должны быть настроить те размеры шрифта, чтобы заставить их выглядеть меньшими.
Вы можете видеть различия в системах с несколькими дисплеями, которые включают комбинацию различных отображений (например, некоторые, но не все отображения с высоким разрешением). Графические элементы могут выглядеть по-другому через отображения в тех системах.
Эти изменения в свойствах объектов минимизируют удар на ваш существующий код и позволяют MATLAB использовать полное разрешение дисплея при рендеринге графических элементов. Все UIs, которые вы создаете в MATLAB, являются автоматически учитывающими DPI приложениями.
Когда вы устанавливаете Units
свойство графического объекта или объекта пользовательского интерфейса к 'pixels'
, размер каждого пикселя является теперь независящим от устройств в системах Макинтоша и Windows:
В системах Windows, 1 пиксель = 1/96 дюйма.
В системах Macintosh, 1 пиксель = 1/72 дюйма.
В системах Linux размер пикселя определяется DPI отображения.
Ваша существующая графика и код пользовательского интерфейса продолжат функционировать правильно с новым размером пикселя. Следует иметь в виду, что, задавая (или запрашивая) размер и местоположение объекта в пикселях не могут соответствовать фактическим пикселям на вашем экране.
Например, каждый экранный пиксель в системе Windows с 192 DPI является 1/192-м из дюйма. В этом случае вдвое больше экранных пикселей преодолевает ту же линейную дистанцию, как независящие от устройств пиксели делают. Если вы создаете фигуру и задаете его размер, чтобы быть 500 400 пикселями, MATLAB сообщает, что размер находится 500 400 в Position
свойство. Однако использование отображения 1000 800 экранирует пиксели, чтобы покрыть ту же графическую область.
Примечание
Начиная в R2015b, MATLAB может сообщить о размере и местоположении объектов как дробные значения (в пиксельных модулях) более часто, чем в предыдущих релизах. Например, ваш код может сообщить о дробных значениях в Position
свойство фигуры, тогда как предыдущие релизы сообщили о целых числах для той же самой фигуры.
ScreenSize
свойство корневого объекта не может совпадать с размером дисплея, о котором сообщают системы Windows с высоким разрешением. А именно, значения не соответствуют когда Units
свойство корневого объекта установлено в 'pixels'
. MATLAB сообщает о значении ScreenSize
свойство на основе независящих от устройств пикселей, не размер фактических пикселей на экране.
ScreenPixelsPerInch
свойство стало свойством только для чтения в R2015b. Если вы хотите изменить размер текста и других элементов на экране, настроить ваши настройки операционной системы.
Кроме того, вы не можете установить или запросить значение по умолчанию ScreenPixelsPerInch
свойство. Эти команды теперь возвращают ошибку:
get(groot,'DefaultRootScreenPixelsPerInch') set(groot,'DefaultRootScreenPixelsPerInch')
get(groot,'FactoryRootScreenPixelsPerInch')
При использовании getframe
функция (или print
функция с -r0
опция) в системе с высоким разрешением, размере массива данных изображения, что возвраты MATLAB больше, чем в предыдущих релизах. Кроме того, число элементов в массиве не может совпадать с размером фигуры в пиксельных модулях. MATLAB сообщает о размере фигуры на основе независящих от устройств пикселей. Однако размер массива основан на DPI отображения.
При публикации документов о системе с высоким разрешением сохраненные на диск изображения больше, чем в предыдущих релизах или в других системах.