setPositionConstraintFcn

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

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

Описание

пример

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

constrained_position = fcn(pos)

Примеры

Обновите Заголовок когда Прямоугольные Перемещения

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

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 на объекте. Для получения дополнительной информации см. Создание указателя на функцию (MATLAB).

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

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

Не рекомендуемый запуск в R2018b

Введенный в R2008a