getframe dual monitor

2 views (last 30 days)
jon smith
jon smith on 14 Jul 2011
I have a dual monitor setup. when i use getframe with my figure on the second monitor i gen an error. "The rectangle passed to getframe must be at least partially on screen"
is this a bug? also if i do a very long sequence and my screen saver comes on it seems getframe just gets black frames???

Answers (2)

Jan
Jan on 14 Jul 2011
GETFRAME reads from the framebuffer of the primary monitor. If a figure is concealed by another one, or the monitor is disabled by the screensaver, GETFRAME does not reply what was intented.
Under linux GETFRAME lifts the figure on top of others, but not for Windows (at least in Matlab 2009a).
You can try FEX: ScreenCapture instead of GETFRAME.
  2 Comments
jon smith
jon smith on 14 Jul 2011
so there is no way to use getframe on a secondary monitor?
Jan
Jan on 15 Jul 2011
@jon: No, GETFRAME will not do this. You can find further tools in the FEX to solve this problem, e.g. http://www.mathworks.com/matlabcentral/fileexchange/22031-getscreen, http://www.mathworks.com/matlabcentral/fileexchange/11363-screencapture, http://www.mathworks.com/matlabcentral/fileexchange/31383, etc. You see, you are not the first one who struggled with this limitation.

Sign in to comment.


Friedrich
Friedrich on 15 Jul 2011
Hi,
you can use it but you have to move the figure on the first screen. This can be done programmatically. MathWorks provides a Solution for this:

Categories

Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!