exponenta event banner

Свойства изображения

Внешний вид и поведение изображения

Image свойства управляют внешним видом и поведением Image объекты. Изменяя значения свойств, можно изменять некоторые аспекты изображения. Используйте точечную нотацию для запроса и задания свойств.

im = image(rand(20));
C = im.CData;
im.CDataMapping = 'scaled';

Цвет и прозрачность

развернуть все

Данные цвета изображения, указанные в одной из следующих форм:

  • Вектор или матрица - этот формат определяет данные индексированного изображения. Каждый элемент определяет цвет для одного пикселя изображения. Элементы сопоставляются с цветами в карте цветов. CDataMapping свойство управляет методом сопоставления.

  • 3-D массив триплетов RGB - этот формат определяет истинные данные цветного изображения, используя значения триплетов RGB. Каждый триплет RGB определяет цвет для одного пикселя изображения. Триплет RGB - это трехэлементный вектор, задающий интенсивности красного, зеленого и синего компонентов цвета. Первая страница массива 3-D содержит красные компоненты, вторая страница содержит зеленые компоненты, а третья страница содержит синие компоненты. Поскольку изображение использует истинные цвета вместо цветов карты цветов, CDataMapping свойство не имеет эффекта.

    • Если CData имеет тип double, то RGB триплет значение [0 0 0] соответствует черному и [1 1 1] соответствует белому.

    • Если CData является целым типом, то изображение использует полный диапазон данных для определения цвета. Например, если CData имеет тип uint8, то [0 0 0] соответствует черному и [255 255 255] соответствует белому. Если CData имеет тип int8, то [-128 -128 -128] соответствует черному и [127 127 127] соответствует белому.

    • Если CData имеет тип logical, то [0 0 0] соответствует черному и [1 1 1] соответствует белому.

На этом рисунке показаны относительные размеры CData для двух цветовых моделей.

Поведение NaN элементы не определены.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Метод отображения данных цвета, указанный как 'direct' или 'scaled'. Это свойство используется для управления отображением значений цветовых данных в CData в карту цвета. CData должен быть вектором или матрицей, определяющей индексированные цвета. Это свойство не действует, если CData является массивом 3-D, определяющим истинные цвета.

Методы имеют следующие эффекты:

  • 'direct' - интерпретировать значения как индексы в текущей карте цветов. Значения с десятичной частью фиксируются ближайшим нижним целым числом.

    • Если значения имеют тип double или single, то значения 1 или меньше сопоставить с первым цветом в карте цветов. Значения, равные или превышающие длину карты цветов до последнего цвета в карте цветов.

    • Если значения имеют тип uint8, uint16, uint32, uint64 , int8, int16, int32, или int64, то значения 0 или меньше сопоставить с первым цветом в карте цветов. Значения, равные или превышающие длину карты цветности до последнего цвета в карте цветности (или до пределов диапазона типа).

    • Если значения имеют тип logical, то значения 0 сопоставить с первым цветом в карте цветов и значениями 1 сопоставить со вторым цветом в карте цветов.

  • 'scaled' - Масштабировать значения в диапазоне между минимальным и максимальным пределами цвета. CLim свойство осей содержит пределы цвета.

Данные прозрачности, указанные в одной из следующих форм:

  • Скаляр (Scalar) - использовать согласованную прозрачность по всему изображению.

  • Массив того же размера, что и CData - Использовать разное значение прозрачности для каждого элемента изображения.

AlphaDataMapping свойство управляет тем, как MATLAB ® интерпретирует значения прозрачности альфа-данных.

Пример: 0.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Интерпретация AlphaData значения, указанные как одно из следующих значений:

  • 'none' - интерпретировать значения как значения прозрачности. Значение 1 или более является полностью непрозрачным, значение 0 или менее является полностью прозрачным, а значение от 0 до 1 является полупрозрачным.

  • 'scaled' - Сопоставьте значения с буквенной картой рисунка. Минимальный и максимальный альфа-пределы осей определяют значения альфа-данных, которые соответствуют первому и последнему элементам в alphamap соответственно. Например, если альфа-пределы [3 5], то значения альфа-данных меньше или равны 3 сопоставить с первым элементом в alphamap. Значения альфа-данных больше или равны 5 сопоставить с последним элементом в alphamap. ALim свойство осей содержит альфа-пределы. Alphamap свойство фигуры содержит alphamap.

  • 'direct' - Интерпретировать значения как индексы в буквенной карте рисунка. Значения с десятичной частью фиксируются ближайшим нижним целым числом:

    • Если значения имеют тип double или single, затем значения 1 или менее сопоставляются с первым элементом в alphamap. Значения, равные или превышающие длину сопоставления alphamap с последним элементом в alphamap.

    • Если значения имеют тип integer, то значения 0 или менее сопоставляются с первым элементом в буквенной карте. Значения, равные или превышающие длину сопоставления alphamap с последним элементом в alphamap (или до пределов диапазона типа). Целочисленные типы: uint8, uint16, uint32, uint64 , int8, int16, int32, и int64.

    • Если значения имеют тип logical, затем значения 0 сопоставляются с первым элементом в alphamap, а значения 1 сопоставляются со вторым элементом в alphamap.

Метод интерполяции, указанный как 'nearest' или 'bilinear'. MATLAB использует интерполяцию для отображения масштабированной или повернутой версии изображения на экране. Выбранное значение не влияет на массив изображений. Однако MATLAB сохраняет интерполированное визуальное представление изображения при сохранении фигуры или экспорте содержимого осей.

Выберите метод интерполяции на основе содержимого изображения и требуемого эффекта:

  • 'nearest' - Этот метод лучше всего использовать, когда имеется небольшое количество значений пикселей, представляющих различные категории, или когда требуется видеть отдельные пикселы в виде с высоким масштабированием. Значение пикселя, расположенного в (x, y), является значением пикселя, ближайшего к (x, y) в исходном изображении.

  • 'bilinear' - Этот метод лучше всего использовать практически во всех других ситуациях. Значение пикселя, расположенного в (x, y), представляет собой средневзвешенное значение окружающих пикселей в исходном изображении. Для минимизации артефактов отображения при сжатии изображения применяется дополнительное сглаживание. Если сеанс MATLAB или рисунок использует средство визуализации Painters, то при сжатии изображения дополнительное сглаживание не выполняется. Чтобы определить средство визуализации, вызовите rendererinfo функция.

Положение

развернуть все

Размещение вдоль оси X, указанной в одной из следующих форм:

  • Двухэлементный вектор - использовать первый элемент в качестве расположения центра CData(1,1) и второй элемент в качестве местоположения для центра CData(m,n), где [m,n] = size(CData). Равномерно распределить центры оставшихся CData элементы между этими двумя точками.

    Ширина каждого пикселя определяется выражением:

    (XData(2)-XData(1))/(size(CData,2)-1)

    Если XData(1) > XData(2)затем изображение переворачивается влево-вправо.

  • Скаляр - центр CData(1,1) в этом месте и каждого последующего элемента один блок друг от друга.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Размещение вдоль оси Y, указанной в одной из следующих форм:

  • Двухэлементный вектор - использовать первый элемент в качестве расположения центра CData(1,1) и второй элемент в качестве местоположения для центра CData(m,n), где [m,n] = size(CData). Равномерно распределить центры оставшихся CData элементы между этими двумя точками.

    Высота каждого пикселя определяется выражением:

    (YData(2)-YData(1))/(size(CData,1)-1)

    Если YData(1) > YData(2)затем изображение переворачивается вверх-вниз.

  • Скаляр - центр CData(1,1) в этом месте и каждого последующего элемента один блок друг от друга.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Интерактивность

развернуть все

Состояние видимости, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • 'on' - Просмотр объекта.

  • 'off' - Скрыть объект, не удаляя его. По-прежнему можно получить доступ к свойствам невидимого объекта.

Содержимое подсказки данных, указанное как DataTipTemplate объект. Можно управлять содержимым, появляющимся в подсказке данных, изменяя свойства нижележащего содержимого. DataTipTemplate объект. Список свойств см. в разделе Свойства DataTipTemplate.

Пример изменения подсказок по данным см. в разделе Создание подсказок по пользовательским данным.

Это свойство применяется только к изображениям с закрепленными подсказками данных.

Примечание

DataTipTemplate объект не возвращен findobj или findall, и он не копируется copyobj.

Контекстное меню, указанное как ContextMenu объект. Это свойство используется для отображения контекстного меню при щелчке объекта правой кнопкой мыши. Создайте контекстное меню с помощью команды uicontextmenu функция.

Примечание

Если PickableParts свойство имеет значение 'none' или если HitTest свойство имеет значение 'off', то контекстное меню не появляется.

Состояние выбора, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • 'on' - Выбрано. Если щелкнуть объект в режиме редактирования печати, то MATLAB задает его Selected свойство для 'on'. Если SelectionHighlight свойство также имеет значение 'on'затем MATLAB отображает дескрипторы выбора вокруг объекта.

  • 'off' - Не выбрано.

Отображение маркеров выбора при выборе, указанных как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • 'on' - Отображение дескрипторов выбора, когда Selected свойство имеет значение 'on'.

  • 'off' - Никогда не отображать дескрипторы выбора, даже когда Selected свойство имеет значение 'on'.

Отсечение объекта до пределов осей, указанных как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Значение 'on' зажимает части объекта, находящиеся вне пределов осей.

  • Значение 'off' отображает весь объект, даже если его части выходят за пределы осей. Части объекта могут появляться за пределами осей, если при создании графика задать hold onзаморозить масштабирование оси, а затем создать объект таким образом, чтобы он был больше исходного графика.

Clipping свойство осей, содержащих объект, должно иметь значение 'on'. В противном случае это свойство не действует. Дополнительные сведения о режиме отсечения см. в разделе Clipping свойства осей.

Отзывы

развернуть все

Обратный вызов щелчком мыши, указанный как одно из следующих значений:

  • Дескриптор функции

  • Массив ячеек, содержащий дескриптор функции и дополнительные аргументы

  • Символьный вектор, являющийся допустимой командой или функцией MATLAB, которая вычисляется в базовой рабочей области (не рекомендуется)

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

  • Clicked object - доступ к свойствам нажатого объекта из функции обратного вызова.

  • Данные события - пустой аргумент. Замените его на символ тильды (~) в определении функции, чтобы указать, что этот аргумент не используется.

Дополнительные сведения об использовании дескрипторов функций для определения функций обратного вызова см. в разделе Определение обратного вызова.

Примечание

Если PickableParts свойство имеет значение 'none' или если HitTest свойство имеет значение 'off', то этот обратный вызов не выполняется.

Функция создания объекта, заданная как одно из следующих значений:

  • Дескриптор функции.

  • Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.

Дополнительные сведения об указании обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Определение обратного вызова.

Это свойство определяет функцию обратного вызова, выполняемую при создании объекта MATLAB. MATLAB инициализирует все значения свойств перед выполнением CreateFcn обратный вызов. Если не указать CreateFcn , то MATLAB выполняет функцию создания по умолчанию.

Установка CreateFcn свойство существующего компонента не оказывает никакого влияния.

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

Функция удаления объекта, заданная как одно из следующих значений:

  • Дескриптор функции.

  • Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.

Дополнительные сведения об указании обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Определение обратного вызова.

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

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

Управление выполнением обратного вызова

развернуть все

Прерывание обратного вызова, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

Это свойство определяет, можно ли прервать выполняющийся обратный вызов. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов - это выполняемый в данный момент обратный вызов.

  • Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.

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

  • Значение 'on' позволяет другим обратным вызовам прерывать обратные вызовы объекта. Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь, например, при наличии drawnow, figure, uifigure, getframe, waitfor, или pause команда.

    • Если выполняемый обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этот момент и выполняет прерванный обратный вызов. MATLAB возобновляет выполнение выполняющегося обратного вызова после завершения прерванного обратного вызова.

    • Если выполняемый обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.

  • Значение 'off' блокирует все попытки прерывания. BusyAction свойство объекта, владеющего прерывистым обратным вызовом, определяет, отбрасывается ли прерывистый обратный вызов или помещается в очередь.

Примечание

Прерывание и выполнение обратного вызова ведут себя по-разному в следующих ситуациях:

  • Если обратный вызов с прерыванием является DeleteFcn, CloseRequestFcn или SizeChangedFcn обратный вызов, то прерывание происходит независимо от Interruptible значение свойства.

  • Если выполняемый обратный вызов в данный момент выполняется waitfor функция, то прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются в соответствии с графиком независимо от Interruptible значение свойства.

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или отображения. Например, объект, возвращенный gca или gcf при выполнении другого обратного вызова команда может измениться.

Очередь обратного вызова, указанная как 'queue' или 'cancel'. BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов - это выполняемый в данный момент обратный вызов.

  • Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.

Всякий раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать выполняющийся обратный вызов. Interruptible свойство объекта, владеющего выполняющимся обратным вызовом, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction свойство объекта, владеющего прерывистым обратным вызовом, определяет, отбрасывается он или помещается в очередь. Это возможные значения BusyAction свойство:

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

  • 'cancel' - не выполняет обратный вызов прерывания.

Возможность захвата щелчков мыши, указанных как одно из следующих значений:

  • 'visible' - Захват щелчков мыши только при отображении. Visible свойство должно иметь значение 'on'. HitTest определяет, Image объект отвечает на клик или если это делает предок.

  • 'none' - Не удается зафиксировать щелчки мыши. Щелкните значок Image объект передает щелчок на объект за ним в текущем виде окна фигуры. HitTest имущества Image объект не имеет эффекта.

Ответ на зафиксированные щелчки мыши, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • 'on' - Запустить ButtonDownFcn обратный вызов Image объект. Если вы определили ContextMenu затем вызовите контекстное меню.

  • 'off' - Инициировать обратные вызовы для ближайшего предка Image объект, имеющий один из следующих объектов:

    • HitTest свойство имеет значение 'on'

    • PickableParts свойство имеет значение, которое позволяет предку фиксировать щелчки мыши

Примечание

PickableParts определяет, Image объект может захватывать щелчки мыши. Если он не может, то HitTest свойство не имеет эффекта.

Это свойство доступно только для чтения.

Состояние удаления, возвращаемое как логическое значение включения/выключения типа matlab.lang.OnOffSwitchState.

MATLAB устанавливает BeingDeleted свойство для 'on' когда DeleteFcn обратный вызов начинает выполнение. BeingDeleted свойство остается установленным в значение 'on' до тех пор, пока объект-компонент больше не будет существовать.

Проверьте значение BeingDeleted для проверки того, что объект не будет удален перед запросом или изменением.

Родительский/дочерний

развернуть все

Родитель, указан как Axes, Group, или Transform объект.

Дети, возвращенные как пустые GraphicsPlaceholder массив или DataTip массив объектов. Это свойство используется для просмотра списка подсказок по данным, отображаемых на диаграмме.

Невозможно добавить или удалить дочерние элементы с помощью Children собственность. Чтобы добавить дочерний элемент в этот список, установите Parent имущества DataTip объект к объекту диаграммы.

Видимость дескриптора объекта в Children свойство родительского объекта, указанное как одно из следующих значений:

  • 'on' - Дескриптор объекта всегда виден.

  • 'off' - Дескриптор объекта всегда невидим. Этот параметр полезен для предотвращения непреднамеренных изменений другой функцией. Установите HandleVisibility кому 'off' для временного скрытия дескриптора во время выполнения этой функции.

  • 'callback' - Дескриптор объекта виден из обратных вызовов или функций, вызываемых обратными вызовами, но не из функций, вызываемых из командной строки. Этот параметр блокирует доступ к объекту в командной строке, но разрешает доступ к нему функциям обратного вызова.

Если объект не указан в списке Children свойства родительского объекта, то функции, которые получают дескрипторы объектов путем поиска в иерархии объектов или запроса свойств дескрипторов, не могут вернуть его. Примеры таких функций включают get, findobj, gca, gcf, gco, newplot, cla, clf, и close функции.

Дескрипторы скрытых объектов по-прежнему действительны. Установка корня ShowHiddenHandles свойство для 'on' перечисление всех дескрипторов объектов независимо от их HandleVisibility параметр свойства.

Идентификаторы

развернуть все

Это свойство доступно только для чтения.

Тип графического объекта, возвращаемого как 'image'.

Идентификатор объекта, заданный как вектор символа или скаляр строки. Можно указать уникальный Tag для использования в качестве идентификатора объекта. При необходимости доступа к объекту в другом месте кода можно использовать findobj для поиска объекта на основе Tag значение.

Пользовательские данные, указанные как любой массив MATLAB. Например, можно указать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Это свойство используется для хранения произвольных данных объекта.

Если вы работаете в App Designer, создайте открытые или частные свойства в приложении для совместного использования данных вместо использования UserData собственность. Дополнительные сведения см. в разделе Общий доступ к данным в приложениях App Designer.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2020a

Представлен до R2006a