Thread Subject: "getframe" not working on 64-bit Vista With Aero color scheme

Subject: "getframe" not working on 64-bit Vista With Aero color scheme

From: Pinpress

Date: 20 Nov, 2008 14:38:02

Message: 1 of 3

Hi all,

I have just discovered that getframe() does not work properly on my 64-bit Vista when using Aero color scheme (with transparency). The symptom was that all the image frame Cdata has the same matrix, while if I display one frame's cdata by:

imagesc(M(1).cdata);

it shows up the image (used to create the movie frames) BUT also with the underlying stuff, just as if that the getframe was capturing the figure as well as its underlying windows with certain transparency. The funny thing also is that all the frame has the same CData, therefore, when I use "movie" to replay the captured frames, the figure does not update. I have confirmed this behavior with R2008a and R2008b both releases.

Note, if I change the Vista color scheme to "Vista basic", for example, then getframe seems to be working fine.

Anyone had the same experience? Is this a bug with getframe when it's working with Vista?

Subject: "getframe" not working on 64-bit Vista With Aero color scheme

From: Walter Roberson

Date: 20 Nov, 2008 17:58:35

Message: 2 of 3

Pinpress wrote:

> I have just discovered that getframe() does not work properly on my 64-bit Vista when using Aero

> Note, if I change the Vista color scheme to "Vista basic",

This is a problem for a -lot- of programs, that they do no work under Aero.

I never bothered to research whether it is something that "just can't be done" with Aero
or whether "Aero is special, you have to do it this way different from the way you do
others", or whether they updated some API and if the code were updated to that API
everything would start working (but would that hypothetical API be backwards compatible?)
So -I- don't have the information on what it would take to fix the problem; Mathworks
support probably has a good idea though.

--
.signature note: I am now avoiding replying to unclear or ambiguous postings.
Please review questions before posting them. Be specific. Use examples of what you mean,
of what you don't mean. Specify boundary conditions, and data classes and value
relationships -- what if we scrambled your data or used -Inf, NaN, or complex(rand,rand)?

Subject: "getframe" not working on 64-bit Vista With Aero color scheme

From: Eric

Date: 4 Dec, 2009 21:51:05

Message: 3 of 3

So I had the same problem as the OP. I haven't tried switching off 'transparency', but matlab's documentation provided a solution/workaround.

In the line before the getframe command, I inserted this code:

lighting phong
set(gcf,'Renderer','zbuffer')

This seemed to solve the problem completely. I'm not sure why it did, but I tried another option the documentation offered which was:

lighting gouraud
set(gcf,'Renderer','OpenGL')

and this gave the original issue. I have an OpenGL graphics card, so perhaps its the drivers? Matlab doesn't like them?

Thanks,
Eric

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
movie Eric 4 Dec, 2009 16:54:21
opengl Eric 4 Dec, 2009 16:54:21
renderer Eric 4 Dec, 2009 16:54:21
getframe Eric 4 Dec, 2009 16:54:20
aero Pinpress 20 Nov, 2008 09:40:21
vista Pinpress 20 Nov, 2008 09:40:21
getframe Pinpress 20 Nov, 2008 09:40:21
rssFeed for this Thread

Contact us at files@mathworks.com