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

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

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

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

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

Если вы используете более раннюю версию, используйте вместо этого функции get и set.

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

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

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

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

Цветной метод отображения данных, заданный как 'direct' или 'scaled'. Используйте это свойство управлять отображением цветных значений данных в CData в палитру. CData должен быть вектором или матрицей, задающей индексированные цвета. Это свойство не имеет никакого эффекта, если CData является трехмерным массивом, задающим истинные цвета.

Методы имеют эти эффекты:

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

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

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

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

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

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

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

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

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

Пример: 0.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Интерпретация значений 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 (или до пределов области значений типа). Целыми типами является uint8, uint16, uint32, uint64, int8, int16, int32 и int64.

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

Положение

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

Размещение вдоль оси 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 | логический

Размещение вдоль оси 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 | логический

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

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

Состояние видимости, заданное в качестве одного из следующих значений:

  • 'on' — Отображать объект.

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

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

Примечание

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

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

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

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

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

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

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

Усечение объекта к пределам осей, заданным как одно из этих значений:

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

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

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

Обратные вызовы

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

Используйте это свойство для выполнения кода при создании объекта. MATLAB выполняет обратный вызов после создания объекта и настройки всех его свойств. Установка значения свойства CreateFcn не влияет на существующий объект . Для того, чтобы действие было эффективным, вам необходимо задать свойство CreateFcn во время создания объекта. Один из способов задать свойство во время создания объекта — задать значение свойства по умолчанию для объекта. Для получения дополнительной информации см. Раздел "Значения свойств по умолчанию".

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

  • Созданный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

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

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

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

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

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

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

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

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

  • Удаленный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

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

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

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

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

Прерывание обратного вызова, обозначаемое как 'on' или 'off'. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.

Примечание

Рассмотрите эти состояния обратного вызова где:

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

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

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

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

  • 'on' — Прервать. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Например, очереди обрабатываются командами, такими как drawnow, фигура, getframe, waitfor, делают паузу, и waitbar.

  • 'off' — Не прерывать. MATLAB завершает выполнение обратного вызова без каких-либо прерываний.

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

Рассмотрите эти состояния обратного вызова где:

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

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

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

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

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

  • cancel' — Отменить прерывание обратного вызова.

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

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

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

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

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

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

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

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

Примечание

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

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

Удаление статуса, возврат на 'off' или 'on'. MATLAB устанавливает свойство BeingDeleted на 'on', когда функция удаления объекта начинает выполняться (см. ""Свойство DeleteFcn""). Свойство BeingDeleted остается в установленном значении 'on', до того момента, как объект перестанет существовать.

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

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

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

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

У объекта нет дочерних элементов. Вы не можете задать это свойство.

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

  • on' — указатель на объект всегда отображается.

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

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

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

Скрытые указатели на объекты все еще действительны. Установите значение корневого свойства ShowHiddenHandles на 'on', чтобы отобразить все указатели на объекты независимо от значения свойства HandleVisibility.

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

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

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

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

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

Используйте это свойство найти объекты image в иерархии. Например, можно использовать функцию findobj, чтобы найти объекты image, которые имеют определенное значение свойства Tag.

Пример: 'Данные в январе'

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

Чтобы связать несколько наборов данных или прикрепить имя поля к данным, используйте функции getappdata и setappdata.

Пример: 1:100

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

Была ли эта тема полезной?