我想并排绘制4个正方形,使用PTB进行实验,但代码不起作用.. 这是我的代码,
square_size = [0 0 50 50];
squareXpos = [screenXpixels * 0.125 screenXpixels * 0.25 screenXpixels * 0.5 screenXpixels * 0.75];
numSqaures = length(squareXpos);
allColors = [1 0 0; 0 1 0; 0 0 1; 1 0 0];
allRects = nan(4, 4);
for i = 1:numSqaures
allRects(:, i) = CenterRectOnPointd(square_size, squareXpos(i), yCenter);
end
Screen('FillRect', window, allColors, allRects);
Screen('Flip', window);
KbStrokeWait;
如果有人知道如何解决这个问题,请帮助我。
答案 0 :(得分:0)
如果没有看到错误,很难说。
如果我不得不猜测,那么输入的格式可能有问题。
乍一看我注意到的潜在问题。
Psychtoolbox(与matlab不同)使用从0到255而不是0 - 1的RGB刻度。使用您的代码,所有颜色将显示为黑色。而不是[1,0,0]为红色,使用[255,0,0]。
你的allColors矩阵是nItems X 3(RGB),但是函数想要的是相反的方式。您需要转置:allColors'而不是输入allColors。
如果我在与pscyhtoolbox挣扎,我经常检查的第一件事就是输入的格式化。要获得有关输入的适当格式的帮助,请键入:
Screen('FillRect?')