http://peterscarfe.com/totallyminimaldemo.html
显示灰色屏幕
PsychDefaultSetup(2);
% 调用一些默认设置,输入参数有0,1,2,对应不同的作用,此函数说明;screens =Screen('Screens');
% 获取屏幕的序号,本机屏幕序号为0
white =WhiteIndex(screenNumber);
black =BlackIndex(screenNumber);
% 定义屏幕灰度的白色和黑色,1:白色;0:黑色,其他灰度在0-1之间[window, windowRect] =PsychImaging('OpenWindow', screenNumber, grey);
% 调用PsychImaging,打开screenNumber对应的屏幕,颜色置为“灰色”,返回窗口的标识码window和窗口矩形的四个顶点的坐标(至左、至上、至右、至下)
windowRectKbStrokeWait;
% 等待任意按键按下,终止程序
sca;
% 清楚屏幕,Screen CloseAll的缩写,如果不添加此语句,终止程序后,屏幕并不会消失
http://peterscarfe.com/totallyminimaldemo2.html
运行结果:和#1一样,显示一个灰度屏幕,但同时得到了屏幕的尺寸、灰度等信息
程序几点知识:
rect =Screen('Rect',window);
% 获取window的尺寸,得到的rect和前面的windowRect相同[screenXpixels,
screenYpixels] =Screen('WindowSize',window);
% 获取window的像素,也是前面rect向量的后面两个数值
[xCenter, yCenter] =RectCenter(windowRect);
% 获取window中心坐标,像素为单位
% xCenter = screenXpixels / 2
% yCenter = screenYpixels / 2
ifi =Screen('GetFlipInterval',window);
% 得到window的最小的每帧时间,即一帧的时间
hertz =FrameRate(window);
% hertz是屏幕的刷新频率,和ifi的关系:ifi = 1 / hertz
nominalHertz =Screen('NominalFrameRate', window);
% 得到window正常每帧切换时间,一般和最小的ifi差别不大;
pixelSize =Screen('PixelSize', window);
% 得到window的像素的灰度深度(灰度级),如8位、24位
[width, height] =Screen('DisplaySize', screenNumber);
% 得到显示大小,单位mm
maxLum =Screen('ColorRange', window);
% 获取window最大算亮度级别,一般是1