psychtoolbox创建屏幕窗口并显示文字内容(MATLAB)
最近在学习MATLAB工具箱psychtoolbox的使用,记录一下
使用Screen.m函数创建屏幕窗口
在安装好psychtoolbox工具箱之后,就可以使用了,创建窗口的函数是Screen,使用方法如下:
[wptr,rect]=Screen('OpenWindow',1,0,[50,50,860,720]);
函数一共有四个输入参数:
第一个参数是使用Screen函数要做的事情,这里是OpenWindow(打开一个窗口);
第二个参数是使用的屏幕编号,主要是针对有多个显示器的电脑,如果只有一个显示器,这个参数设置为0即可,如果是两个显示器,参数需要为1,我这里试了一下设置为2也可以,两个屏幕的情况下这个参数应该是不为0就行;
第三个参数是窗口颜色的设置,这个不要瞎搞,没有特殊需求的话,就设置为0默认就好了;
第四个参数是窗口四个边(左,上,右,下)在显示器上的位置的设置,设定好之后,窗口的大小也就确定了。
在创建的窗口显示内容
在创建窗口之后就是显示内容了,这里仅做一个最简单的字符输出,自己建立一个justSaySomething函数:
function justSaySomething(wptr,something,color)
% function justSaySomething(wptr,something,waitornot,color)
%justSaySomething.m
if nargin<3
% waitornot=0;
color=255;
end
% if nargin<4
% color=255;
% end
Screen('TextSize',wptr,100);
oldtxtcolor=Screen('TextColor',wptr);
DrawFormattedText(wptr,something,'center','center',color); %在页面居中像是字体
Screen('Flip',wptr);
Screen('TextColor',wptr,oldtxtcolor);
% while KbCheck;end %按任意键结束
% if waitornot
% KbWait;
% end
end
使用的时候如下:
justSaySomething(wptr, 'hope ur hair always with u');
到这里你也许发现了,wptr就是一个与屏幕相关的screen函数输出的内容,需要去给它赋值,这个值可以是文字,也可以是图片(有兴趣的可以自己找图片的)
程序如下
clear all;
[wptr,wrect]=Screen('OpenWindow',1,0,[50,50,1500,720]);%创建一个窗口
WaitSecs(1);
justSaySomething(wptr, 'hope ur hair always with u');%注意内容必须为英文
WaitSecs(2);
Screen('CloseAll');%关闭窗口
运行截图如下: