How to draw a curved rectangle on a matrix with given two points?

2 views (last 30 days)
How to draw a curved rectangle matrix with given two points?
Assume, two points given:
a = [1,0.5];
b = [1,3.5];
And the created curved rectangle should be like this:
But the point is, all I finally want, is an image matrix return, not just to plot this figure using rectangle(); on screen.
Thanks, guys~
ps: in a binary scale.

Answers (1)

Joachim Schlosser
Joachim Schlosser on 31 Mar 2016
If you want an image matrix, I still suggest using rectangle() to first draw, then exporting the figure to bitmap for getting the image matrix.
  2 Comments
John W. Z
John W. Z on 31 Mar 2016
Hi Joachim, Thanks for your answer, It would work if I use getframe() converting figure to matrix, but it seems lack of efficiency, in which the speed is chief consideration. I found insertShape() could insert image to matrix, but I failed even with times trying. Would you mind help me with this?
Joachim Schlosser
Joachim Schlosser on 1 Apr 2016
insertShape cannot directly draw rounded rectangles. You may first want to try the above solution using
set(0,'DefaultFigureVisible','off');
to disable the display of the figure and thus drastically increase speed.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!