MATLAB: How to save the final output in a matrix without manually save it on the image panel using patch

imagematrixpatch

I have code like this:
x=[0 10 5];
y=[0 0 8.66];
patch(x,y,'white')
set(gca,'Color','k','xticklabel',[],'yticklabel',[])
daspect([1 1 1]);
xlim([-5 15])
ylim([-5 15])
How can I save the final output image in a matrix without manually save it on the popup image panel?
I tried to let 'p = patch(x,y,'white')' but it is not the final pop-up output window. Thanks so much!

Best Answer

Use getframe() to get the graphics as an image matrix
x=[0 10 5];
y=[0 0 8.66];
patch(x,y,'white')
set(gca,'Color','k','xticklabel',[],'yticklabel',[])
daspect([1 1 1]);
xlim([-5 15])
ylim([-5 15])
frame = getframe(gca);
img = frame.cdata;