VideoWriter clipping my axes

13 views (last 30 days)
Chad Greene
Chad Greene on 9 Aug 2013
Commented: Michael Benton on 16 Dec 2019
I'm using the VideoWriter feature for a simple animation of motion of a 3-D surface. Running through the loop, I can see in my figure window that the plot looks great, but something in the process is removing several dozen pixels bounding the entire figure. The result is that I only see a small corner of the axes. Is getframe trimming away my edges? How can I fix it?

Accepted Answer

Chad Greene
Chad Greene on 12 Aug 2013
I figured out the fix:
getframe(gcf,[left bottom width height]),
using the figure position from get(gcf).
  1 Comment
Michael Benton
Michael Benton on 16 Dec 2019
this no longer works, has anyone found a newer solution?

Sign in to comment.

More Answers (1)

Sean de Wolski
Sean de Wolski on 9 Aug 2013
I would guess getframe ios the culprit. Try cycling through the renderers - I would start with 'Painters'
set(gcf,'renderer','painters')
  5 Comments
Chad Greene
Chad Greene on 9 Aug 2013
The problem is evident here. The title is gone, as are bits of the x and y axes.
figure
mov = VideoWriter('examplemovie');
mov.FrameRate = 12;
open(mov)
for n = 1:20
h=surf(peaks+sin(n))
title(['frame number ',num2str(n)])
frame = getframe;
writeVideo(mov,frame);
delete(h);
end
close(mov);

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!