Управляйте внешним видом и поведением компонента изображения
Изображения являются компонентами пользовательского интерфейса, которые позволяют вам отображать изображение, такое как значок или логотип в вашем приложении. свойства Image
управляют внешним видом и поведением изображения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
uf = uifigure; im = uiimage(uf); im.ImageSource = 'peppers.png';
ImageSource
— Источник изображения или файлm
-by-n-by-3
матрица изображений истинного цветаИсточник изображения или файл, заданный как путь к файлу или m
-by-n-by-3
матрица изображений истинного цвета. Поддерживаемые форматы изображения включают JPEG, PNG, GIF, SVG или m
-by-n-by-3
матрица изображений истинного цвета.
Для получения дополнительной информации о матрицах изображений истинного цвета смотрите Типы изображения.
Пример: im = uiimage('ImageSource','peppers.png');
Пример: im.ImageSource = 'C:\TEMP\ngc6543a.jpg';
ScaleMethod
— Отобразите метод масштабирования'fit'
(значение по умолчанию) | 'fill'
| 'none'
| 'scaledown'
| 'scaleup'
| 'stretch'
Отобразите метод масштабирования, заданный как одно из перечисленных в таблице значений. Используйте этот аргумент пары "имя-значение", чтобы задать, как вы хотите, чтобы ваше изображение представило в области компонента.
Таблица также демонстрирует каждый метод шкалы с изображением в качестве примера. В представленных примерах изображений свойство BackgroundColor
компонента изображения было установлено в 'magenta'
. Масштабирующееся поведение файлов изображения SVG может отличаться на основе того, как файл задан.
Значение | Описание | Пример | Масштабирует | Уменьшается | Поддерживает соотношение сторон | Изображение клипов | |
---|---|---|---|---|---|---|---|
Оригинальное изображение | Представленное изображение | ||||||
'fit' | Шкалы в любом направлении, чтобы отобразить изображение в области компонента, и поддерживают соотношение сторон без усечения. |
|
| Да | Да | Да | Нет |
'fill' | Шкалы в любом направлении, чтобы заполнить область компонента, поддерживая соотношение сторон и отсекая при необходимости. |
|
| Да | Да | Да | Да |
'none' | Использует фактический размер изображения и поддерживает соотношение сторон. Если область компонента меньше, чем изображение, изображение отсекается. |
|
| Нет | Нет | Да | Да |
'scaledown' | Уменьшается и поддерживает соотношение сторон без усечения. Если оригинальное изображение больше, чем область компонента, изображение уменьшается и представляет, как будто |
|
| Нет | Да | Да | Нет |
'scaleup' | Масштабирует и поддерживает соотношение сторон с усечением. Если оригинальное изображение меньше, чем область компонента, изображение масштабирует и представляет, как будто |
|
| Да | Нет | Да | Да |
'stretch' | Шкалы в любом направлении, чтобы заполнить область компонента, не поддерживая соотношение сторон и без усечения. |
|
| Да | Да | Нет | Нет |
BackgroundColor
BackgroundColor 'none'
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
|...Цвет фона, заданный как триплет RGB, шестнадцатеричный цветовой код или один из перечисленных в таблице параметров цвета.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#
), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0
до F
. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800'
, '#ff8800'
, '#F80'
и '#f80'
эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
Название цвета | Краткое название | Триплет RGB | Шестнадцатеричный цветовой код | Внешний вид |
---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' | |
'green' | 'g' | [0 1 0] | '#00FF00' | |
'blue' | 'b' | [0 0 1] | '#0000FF' | |
'cyan'
| 'c' | [0 1 1] | '#00FFFF' | |
'magenta' | 'm' | [1 0 1] | '#FF00FF' | |
'yellow' | 'y' | [1 1 0] | '#FFFF00' | |
'black' | 'k' | [0 0 0] | '#000000' | |
'white' | 'w' | [1 1 1] | '#FFFFFF' | |
'none' | Не применяется | Не применяется | Не применяется | Нет цвета |
Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB® во многих типах графиков.
Триплет RGB | Шестнадцатеричный цветовой код | Внешний вид |
---|---|---|
[0 0.4470 0.7410] | '#0072BD' | |
[0.8500 0.3250 0.0980] | '#D95319' | |
[0.9290 0.6940 0.1250] | '#EDB120' | |
[0.4940 0.1840 0.5560] | '#7E2F8E' | |
[0.4660 0.6740 0.1880] | '#77AC30' | |
[0.3010 0.7450 0.9330] | '#4DBEEE' | |
[0.6350 0.0780 0.1840] | '#A2142F' |
Visible
— Отобразите видимость'on'
(значение по умолчанию) | 'off'
Отобразите видимость, заданную как 'on'
или 'off'
. Свойство Visible
определяет, отображено ли изображение на экране. Если свойство Visible
установлено в 'off'
, целый компонент изображения скрыт, но можно все еще установить и получить доступ к его свойствам.
Чтобы заставить ваше приложение запуститься быстрее, установите свойство Visible
на 'off'
для всех компонентов, которые не должны появляться при запуске.
Enable
— Рабочее состояние изображения'on'
(значение по умолчанию) | 'off'
Рабочее состояние изображения, заданного как 'on'
или 'off'
.
'on'
— Изображение кажется нормальным, и пользователь приложения может нажать на изображение, которое инициировало любой коллбэк ImageClickedFcn
, сопоставленный с ним.
'off'
Изображение появляется, потускнел, указав, что пользователь приложения не может нажать на изображение, и что связанные коллбэки не выполняются.
Tooltip
— Подсказка''
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторов | массив строк | 1D категориальный массивПодсказка, заданная как вектор символов, массив ячеек из символьных векторов, массив строк или 1D категориальный массив. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько строк текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной строкой текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
Position
— Местоположение и размер компонента изображения[100 100 100 100]
(значение по умолчанию) | [left bottom width height]
Местоположение и размер компонента изображения относительно родительского элемента, заданного как четыре вектора элемента формы [left bottom width height]
. В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю компонента изображения |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю компонента изображения |
width | Расстояние между правыми и левыми внешними краями компонента изображения |
height | Расстояние между верхними и нижними внешними краями компонента изображения |
Значения Position соответствуют выделенной области родительского контейнера.
Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
Все измерения указаны в пикселях.
InnerPosition
Местоположение и размер компонента изображения[100 100 100 100]
(значение по умолчанию) | [left bottom width height]
Местоположение и размер компонента изображения, заданного как четыре вектора элемента формы [left bottom width height]
. Все измерения указаны в пикселях. Это значение свойства идентично свойству Position.
OuterPosition
Местоположение и размер компонента изображения[100 100 100 100]
(значение по умолчанию) | [left bottom width height]
Это свойство доступно только для чтения.
Местоположение и размер компонента изображения, заданного как четыре вектора элемента формы [left bottom width height]
. Все измерения указаны в пикселях. Это значение свойства идентично свойству Position.
HorizontalAlignment
Выравнивание по горизонтали представленного изображения'center'
(значение по умолчанию) | 'left'
| 'right'
Выравнивание по горизонтали представленного изображения в области компонента изображения, заданной как 'center'
, 'left'
или 'right'
. Выравнивание по горизонтали относительно внутренних границ компонента изображения. Установка этого свойства не имеет никакого эффекта, когда значение свойства ScaleMethod
установлено в 'stretch'
.
Например, таблица показывает представленные изображения для каждого значения HorizontalAlignment
, где значение свойства ScaleMethod
установлено в 'none'
, и свойство VerticalAlignment
имеет значение по умолчанию, 'center'
. Можно реализовать много других комбинаций, которые не показывают здесь.
Значение выравнивания по горизонтали | Описание | Представленное изображение |
---|---|---|
'center' | Левые и правые ребра изображения равномерно распределены от оставленных внутренней части и внутренних правильных границ компонента изображения, соответственно. |
|
'left' | Левый край изображения выравнивается с оставленной внутренней части границей компонента изображения. |
|
'right' | Правый край изображения выравнивается с внутренней правильной границей компонента изображения. |
|
VerticalAlignment
Выравнивание по вертикали представленного изображения'center'
(значение по умолчанию) | 'top'
| 'bottom'
Выравнивание по вертикали представленного изображения в области компонента изображения, заданной как 'center'
, 'left'
или 'right'
. Выравнивание по вертикали относительно внутренних границ компонента изображения. Установка этого свойства не имеет никакого эффекта, когда значение свойства ScaleMethod
установлено в 'stretch'
.
Например, таблица показывает представленные изображения для каждого значения VerticalAlignment
, где значение свойства ScaleMethod
установлено в 'none'
, и свойство HorizontalAlignment
имеет значение по умолчанию, 'center'
. Можно реализовать много других комбинаций, которые не показывают здесь.
Значение выравнивания по вертикали | Описание | Представленное изображение |
---|---|---|
'center' | Верхние и нижние ребра изображения равномерно распределены от внутренней верхней части и внутренних нижних границ компонента изображения, соответственно. |
|
'top' | Верхний край изображения выравнивается с внутренней верхней границей компонента изображения. |
|
'bottom' | Базовый край изображения выравнивается с внутренней нижней границей компонента изображения. |
|
Размещение
Параметры макетаLayoutOptions
(значение по умолчанию) | объект GridLayoutOptions
Параметры макета, заданные как объект GridLayoutOptions
пустого массива. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент изображения не является дочерним элементом контейнера макетов сетки (например, если это - дочерний элемент фигуры или панели), то это свойство пусто и не имеет никакого эффекта. Однако, если компонент изображения является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки свойств Row
и Column
на объекте GridLayoutOptions
.
Например, этот код помещает компонент изображения в третью строку и второй столбец ее родительской сетки.
g = uigridlayout([4 3]); im = uiimage(g); im.ImageSource = 'peppers.png'; im.ScaleMethod = 'fill'; im.Layout.Row = 3; im.Layout.Column = 2;
Чтобы заставить изображение охватить несколько строк или столбцов, задайте свойство Row
или Column
как двухэлементный вектор. Например, это изображение охватывает столбцы 2
через 3
.
im.Layout.Column = [2 3];
ImageClickedFcn
— Отобразите коллбэк, по которому кликают,Отобразите коллбэк, по которому кликают, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется, когда пользователь нажимает на изображение в приложении.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с изображением. MATLAB передает эту информацию в объекте ImageClickedData
в качестве второго аргумента к вашей функции обратного вызова. В App Designer аргумент называется событием.
Можно запросить свойства объекта с помощью записи через точку. Например, event.Source
возвращает объект Image
, что пользователь взаимодействует с инициировать коллбэк. Объект ImageClickedData
не доступен функциям обратного вызова, заданным как векторы символов.
В следующей таблице перечислены свойства объекта ImageClickedData
.
Свойство | Значение |
---|---|
EventName | 'ImageClicked' |
Source | Компонент, выполняющий коллбэк |
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
CreateFcn
Функция создания''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств перед выполнением обратного вызова CreateFcn.
Если вы не задаете свойство CreateFcn, то MATLAB выполняет функцию создания по умолчанию.
Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
DeleteFcn
Функция удаления''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет обратный вызов DeleteFcn перед уничтожением свойств объекта.
Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
Interruptible
— Прерывание коллбэка'on'
(значение по умолчанию) | 'off'
Прерывание обратного вызова, обозначаемое как 'on' или 'off'.
Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание.
Свойство «Прерывание» имеет два возможных значения:
'on'
— Позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
, figure
, uifigure
, getframe
, waitfor
или команда pause
.
Если рабочий коллбэк содержит одну из тех команд, то MATLAB останавливает выполнение коллбэка в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если рабочий коллбэк не содержит одну из тех команд, то MATLAB закончил выполнять коллбэк без прерывания.
'off'
Блоки все попытки прерывания. Свойство BusyAction объекта, владеющего прерывистым обратным вызовом, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.
Если текущий обратный вызов выполняет функцию waitfor, то прерывание происходит независимо от значения свойства прерывания.
Объекты-таймеры выполняются в соответствии с расписанием независимо от значения свойства прерывания.
Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный командой gca или gcf, может измениться при выполнении другого обратного вызова.
BusyAction
Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка обратного вызова в очередь задается как 'queue' или 'cancel'.
Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Свойство Interruptible
объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction
объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения свойства BusyAction
:
'queue'
— Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.
отмена
Не выполняет прерывание обратного вызова.
BeingDeleted
— Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Удаление статуса, возврат на 'off' или 'on'.
MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение.
Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.
Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.
Parent
— Родительский контейнерFigure
(значение по умолчанию) | объект Panel
| объект Tab
| объект ButtonGroup
| объект GridLayout
Родительский контейнер, заданный как объект Figure
, создал использование функции uifigure
или одного из ее дочерних контейнеров: Tab
, Panel
, ButtonGroup
или GridLayout
. Если никакой контейнер не задан, MATLAB вызывает функцию uifigure
, чтобы создать новый объект Figure
, который служит родительским контейнером.
HandleVisibility
Видимость указателя на объект'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект, заданная как 'on', 'callback' или 'off'.
Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают в себя get, findobj, clf и close.
Объекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Объект всегда виден. |
'callback' | Объект видим из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему. |
'off' | Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите значение HandleVisibility на 'off', чтобы временно скрыть объект во время выполнения этой функции. |
Ввод
Тип графического объекта'uiimage'
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uiimage'
.
Тег
Идентификатор объекта''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальное значение Tag
, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData
. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.