Image Properties

Отобразите внешний вид и поведение

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

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

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

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

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

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

  • Трехмерный массив триплетов RGB — Этот формат задает данные изображения истинного цвета с помощью значений триплета RGB. Каждый триплет RGB задает цвет для одного пикселя изображения. Триплет RGB является трехэлементным вектором, который задает интенсивность красных, зеленых, и синих компонентов цвета. Первая страница трехмерного массива содержит красные компоненты, вторая страница содержит зеленые компоненты, и третья страница содержит синие компоненты. Поскольку изображение использует истинные цвета вместо цветов палитры, 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 трехмерный массив, задающий истинные цвета.

Методы оказывают эти влияния:

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

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

    • Если значения имеют тип uint8uint16uint32uint64 int8int16int32, или int64, затем значения 0 или меньше карты к первому раскрашивает палитру. Значения, равные или больше, чем длина палитры, сопоставляют с последним цветом в палитре (или до пределов области значений типа).

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

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

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

  • Скаляр — Использование сопоставимая прозрачность через целое изображение.

  • Выстройте тот же размер как CData — Используйте различное значение прозрачности для каждого элемента изображения.

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

Пример: 0.5

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

Интерпретация AlphaData значения в виде одного из этих значений:

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

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

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

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

    • Если значения имеют целое число типа, то значения 0 или меньше карт к первому элементу в alphamap. Значения, равные или больше, чем длина alphamap, сопоставляют с последним элементом в alphamap (или до пределов области значений типа). Целочисленными типами является uint8uint16uint32uint64 int8int16int32, и int64.

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

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

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

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

  • 'bilinear' — Этот метод является лучшим почти во всех других ситуациях. Значение пикселя, расположенного в (x, y), является взвешенным средним окружающих пикселей в оригинальном изображении. Чтобы минимизировать артефакты отображения, дополнительное сглаживание применяется, когда вы уменьшаете изображение. Если ваш сеанс работы с MATLAB или фигура используют средство отображения Живописцев, то нет никакого дополнительного сглаживания, когда изображение уменьшается. Чтобы определить средство отображения, вызовите 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 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • 'on' — Отобразите объект.

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

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

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

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

Примечание

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

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

Примечание

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

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

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

  • 'off' — Не выбранный.

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

  • 'on' — Отобразите маркеры выделения когда Selected свойство установлено в 'on'.

  • 'off' — Никогда не отображайте маркеры выделения, даже когда Selected свойство установлено в 'on'.

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

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

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

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

Коллбэки

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

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

  • Указатель на функцию

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

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

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

  • Объект, по которому кликают — свойства Access объекта, по которому кликают, из функции обратного вызова.

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

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

Примечание

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

Функция создания объекта в виде одного из этих значений:

  • Указатель на функцию.

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

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

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

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

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

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

Функция удаления объекта в виде одного из этих значений:

  • Указатель на функцию.

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

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

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

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

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

Контроль выполнения обратного вызова

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

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

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

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

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

MATLAB определяет поведение прерывания коллбэка каждый раз, когда это выполняет команду, которая обрабатывает очередь коллбэка. Эти команды включают drawnow, figure, uifigure, getframe, waitfor, и pause.

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

Если рабочий коллбэк действительно содержит одну из этих команд, то Interruptible свойство объекта, который владеет рабочим коллбэком, определяет, происходит ли прерывание:

  • Если значение Interruptible 'off', затем никакое прерывание не происходит. Вместо этого BusyAction свойство объекта, который владеет прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или добавляется к очереди коллбэка.

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

Примечание

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

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

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

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

Примечание

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

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

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

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

BusyAction свойство определяет поведение постановки в очередь коллбэка только, когда оба из этих условий соблюдают:

  • Рабочий коллбэк содержит команду, которая обрабатывает очередь коллбэка, такой как drawnow, figure, uifigure, getframe, waitfor, или pause.

  • Значение Interruptible свойством объекта, который владеет рабочим коллбэком, является 'off'.

При этих условиях, BusyAction свойство объекта, который владеет прерыванием обратного вызова, определяет, как MATLAB обрабатывает прерывание обратного вызова. Это возможные значения BusyAction свойство:

  • 'queue' — Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.

  • 'cancel' — Не выполняет прерывание обратного вызова.

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

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

  • 'none' — Не может захватить клики мыши. Нажатие на Image возразите передает нажатие кнопки объекту позади него в текущем представлении окна рисунка. HitTest свойство Image объект не оказывает влияния.

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

  • 'on' — Инициируйте ButtonDownFcn коллбэк Image объект. Если вы задали ContextMenu свойство, затем вызовите контекстное меню.

  • 'off' — Инициируйте коллбэки для самого близкого предка Image объект, который имеет один из них:

    • HitTest набор свойств к 'on'

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

Примечание

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

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

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

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

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

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

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

Родительский элемент в виде Axes, Group, или Transform объект.

Дочерние элементы, возвращенные как пустой GraphicsPlaceholder массив или DataTip objectArray. Используйте это свойство просмотреть список всплывающих подсказок, которые построены на графике.

Вы не можете добавить или удалить дочерние элементы, использующие 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