Set resize behavior of ROI object
setResizable is not recommended. With the new ROIs, use the
InteractionsAllowed property instead. For more information, see
Fix Size of Ellipse
Create an ellipse ROI object.
imshow("coins.png") h = imellipse(gca,[10 10 100 100]);
Specify a position constraint function using
keep the ellipse inside the boundary of the image.
fcn = makeConstrainToRectFcn("imellipse",get(gca,"XLim"),get(gca,"YLim")); setPositionConstraintFcn(h,fcn);
Click and drag with the mouse to try resizing, reshaping, and moving the ellipse.
Now, disable resizing the ellipse.
Click and drag the ellipse again. You can move it, but not change the size or shape of it.
Version HistoryIntroduced before R2006a
setResizable is not recommended
Starting in R2018b, a new set of ROI objects replaces the existing set of ROI objects. The new objects provide more functional capabilities, such as face color transparency. The new classes also support events that you can use to respond to changes in your ROI such as moving or being clicked. Although there are no plans to remove the old ROI objects at this time, switch to the new ROIs to take advantage of the additional capabilities and flexibility. For more information on creating ROIs using the new ROI functions, see Create ROI Shapes.
To control whether an Ellipse or Rectangle ROI is resizable, use the
InteractionsAllowed property of the ROI.
Update all instances of
setResizable used with the
Ellipse ROI and the Rectangle ROI.
|Discouraged Usage||Recommended Replacement|
This example uses the
imshow('cameraman.tif') h = imrect(gca,[10 10 100 100]); setResizable(h,false);
imshow('camerman.tif') h = drawrectangle(gca,'Position',[10 10 100 100]); h.InteractionsAllowed = 'none';