exponenta event banner

setPositionConstraintFcn

Установка функции ограничения положения объекта ROI

setPositionConstraintFcn не рекомендуется. С новыми ROI, используйте DrawingArea вместо этого свойство. Дополнительные сведения см. в разделе Вопросы совместимости.

Описание

пример

setPositionConstraintFcn(h,fcn) задает функцию ограничения положения объекта ROI h быть указанным дескриптором функции, fcn. Каждый раз, когда объект перемещается из-за перетаскивания мыши, функция ограничения вызывается с помощью синтаксиса:

constrained_position = fcn(pos)

Примеры

Обновить заголовок при перемещении прямоугольника

Отображение окупаемости инвестиций в прямоугольник поверх изображения. Отображение положения прямоугольника в заголовке. Заголовок обновляется при перемещении прямоугольника. Попробуйте перетащить одну сторону прямоугольника за границу изображения.

imshow('cameraman.tif')
h = imrect(gca,[10 10 100 100]);
addNewPositionCallback(h,@(p) title(mat2str(p,3)));

Укажите функцию ограничения положения с помощью makeConstrainToRectFcn для сохранения прямоугольника внутри оригинала XLim и YLim диапазоны.

fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim'));
setPositionConstraintFcn(h,fcn);

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

Входные аргументы

свернуть все

Объект ROI, указанный как imellipse, imline, impoint, impoly, или imrect объект.

Дескриптор функции, указанный как дескриптор. Вы можете использовать makeConstrainToRectFcn для создания этой функции. Функция должна принимать числовой массив в качестве входного и возвращать числовой массив в качестве выходного. Оба массива должны иметь одинаковую форму, возвращаемую при вызове getPosition на объекте. Дополнительные сведения см. в разделе Создание дескриптора функции.

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

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

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

Представлен в R2008a