colleagues of mine get a black screen, when saving screenshots (getMovieFrame) on Windows 7 (PsychoPy 1.83.04) in fullscreen mode. When we set fullscr to False, there is no problem. They have an Intel R HD Graphics 4600.
The saved images are black. I’m using the standard option, so we are saving front-buffers;
Currently we just don’t use fullscreen mode and hide the tastkbar, but the psychopy window doesn’t fit the screen ideally and the taskbar comes up, when one moves the mouse over it. Screenshots are saved without problems in this non-fullscreen mode. I had a similar problem on my new laptop and found out, that it was caused by the fullscreen mode… (I can’t replicate the problem on my laptop though )
Ok maybe it just isn’t possible then - maybe the graphs card can’t read the front buffer in full screen mode (I’ve never tried doing that). I bet it can read the back buffer though!
Ok maybe it just isn't possible then - maybe the graphs card can't read the front buffer in full screen mode (I've never tried doing that). I bet it can read the back buffer though!
also it would make sense; my new laptop has 2 graphics cards; so maybe it used a different one, when it worked, than when it didn’t… (Windows chooses the most appropriate card)
ok, thanks Jon! I wanted to try out the backbuffer, but then came to the conclusion, that it probably doesn't make any difference.. I will try it out...
Ok maybe it just isn't possible then - maybe the graphs card can't read the front buffer in full screen mode (I've never tried doing that). I bet it can read the back buffer though!
A while back I tried to save a screen to find the color values of a particular pixels. Following Jon’s suggestion I did about the following:
fixation.draw()
stimulus.draw() #draw whatever
win.flip()
pixels = win._getRegionOfFrame(rect=(-1, 1, 1, -1), buffer=‘front’) # from Jon Peirce, does not work?
eventually I got the following to work:
fixation.draw()
stimulus.draw() #draw whatever
pixels = win._getRegionOfFrame(rect=(-1, 1, 1, -1), buffer=‘back’) #Notice 'back"
win.flip()
This might be a stupid solution, but PsychoPy is cross platform. On my Mac I tried to capture complex trials with movies etc. I tried many apps. Finally I used the Apple App “QuickTime Player,app” (version 10.4). It has a New Screen Recording option. PsychoPy in full screen mode it created movies that I could follow frame by frame, no matter what was happening during the trial. I am sure there was some loss in quality but I couldn’t see it.
Thanks Jon! I just had a remote connection and could change the code, so that saving the image takes place before win.flip to the back buffer. It works! Thanks again!