Учитывающее DPI поведение в MATLAB

Начиная в 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

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

Корневое свойство ScreenPixelsPerInch

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

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

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

Используя печать, getframe, и публикуют Функции

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

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

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

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

Смотрите также

|