Main Content

setResizable

Set resize behavior of ROI object

setResizable is not recommended. With the new ROIs, use the InteractionsAllowed property instead. For more information, see Compatibility Considerations.

Description

example

setResizable(h,TF) sets whether the ROI object may be resized interactively.

Examples

collapse all

Create an ellipse ROI object.

imshow("coins.png")
h = imellipse(gca,[10 10 100 100]);

Specify a position constraint function using makeConstrainToRectFcn to 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.

setResizable(h,false);

Click and drag the ellipse again. You can move it, but not change the size or shape of it.

Input Arguments

collapse all

ROI object, specified as an imellipse or imrect object.

Enable resizing of ROI object, specified as true or false.

Data Types: logical

Version History

Introduced before R2006a

collapse all

R2018b: 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 Code

Update all instances of setResizable used with the Ellipse ROI and the Rectangle ROI.

Discouraged UsageRecommended Replacement

This example uses the setResizable method to turn off the ability to resize a Rectangle ROI.

imshow('cameraman.tif')
h = imrect(gca,[10 10 100 100]);
setResizable(h,false);

Create a Rectangle ROI, using the new ROI objects, and replace use of the setResizable method with setting the value of the InteractionsAllowed property. To turn off resizing, set the value of the property to 'none'.

imshow('camerman.tif')
h = drawrectangle(gca,'Position',[10 10 100 100]);
h.InteractionsAllowed = 'none';