MATLAB 编程/Psychtoolbox/屏幕命令
Back to MATLAB Programming/Psychtoolbox
用法
SCREEN(windowPtr,'PutImage',imageArray,[rect],[copyMode])
将“imageArray”复制到窗口,速度较慢。“imageArray”可以是双精度或 uint8 类型。它的值应为非负整数,通过 CopyBits 或 CopyBitsQuickly 复制到窗口。“imageArray”可以是 MxN 数组(对于任何窗口)或 MxNx3 数组(仅当窗口 pixelSize 为 16 或 32 位时)。在后一种情况下,三个 rgb 分量将根据窗口 pixelSize 合并,形成一个单个值,该值将复制到窗口。在 16 位模式下,r、g 和 b 各贡献 5 位。在 32 位模式下,r、g 和 b 各贡献 8 位。
“rect”以窗口坐标表示。整个图像被复制到“rect”,必要时会进行缩放。rect 默认值为 imageArray 的 rect,位于窗口的中心。数组在窗口中的方向与 MATLAB 在命令窗口中显示数字数组的方式相同。第一个像素位于左上角,行是水平方向的。除非您指定“Quickly” copyMode,否则 PutImage 将继承 CopyBits 的行为,将图像缩放成 rect。
copyMode 参数是一个字符串变量,传递给 VideoToolbox CopyWindows 例程。copyMode 可以是 'srcCopy'(默认)或 'bltFast'。
复制分为两个阶段。首先,从图像数组缓慢地复制到一个临时的屏幕外窗口,然后,从那里快速地复制到由“windowPtr”指定的窗口。
用法
SCREEN('MATLABToFront',[n])
将 MATLAB 窗口菜单中的第 n 个窗口向前移动。如果未指定,则 n 默认值为 0(命令窗口)。
用法
SCREEN(windowPtr,'WindowToFront')
将指定的窗口置于最前面。
用法
SCREEN(windowPtr,'FillRect',[color],[rect])
填充“rect”。“color”是您要插入每个像素的 clut 索引(标量或 [r g b] 三元组);默认情况下会使用此窗口 pixelSize 的标准 CLUT 生成白色。默认的“rect”是整个屏幕,因此您可以使用此函数清除屏幕。
用法
SCREEN(windowPtr,'Close')
关闭任何 SCREEN 窗口(屏幕内或屏幕外)。关闭屏幕内窗口大约需要 1 秒钟。关闭最后一个屏幕内窗口后,光标将变为可见。
用法
SCREEN('CloseAll')
关闭所有 SCREEN 窗口(屏幕内和屏幕外)。关闭每个屏幕内窗口大约需要 1 秒钟。关闭最后一个屏幕内窗口后,光标将变为可见。
用法
SCREEN(windowPtr,'Close')
关闭任何 SCREEN 窗口(屏幕内或屏幕外)。关闭屏幕内窗口大约需要 1 秒钟。关闭最后一个屏幕内窗口后,光标将变为可见。
用法
desribeStruct=SCREEN('Computer')
在 Matlab 结构体中返回有关计算机的信息。
用法
SCREEN('CopyWindow',srcWindowPtr,dstWindowPtr,[srcRect],[dstRect],[copyMode])
在两个窗口(屏幕内或屏幕外)之间快速复制图像。copyMode 在 Win 上只能是 'srcCopy'(默认,将图像缩放以适合 dstRect)。与 Rush 结合使用以获得可靠的计时。请参阅 Rush。
用法
SCREEN('CopyWindow',srcWindowPtr,dstWindowPtr,[srcRect],[dstRect],[copyMode])
在两个窗口(屏幕内或屏幕外)之间快速复制图像。copyMode 在 Win 上只能是 'srcCopy'(默认,将图像缩放以适合 dstRect)。与 Rush 结合使用以获得可靠的计时。请参阅 Rush。
用法
SCREEN(windowPtr,'DrawLine',[color],fromH,fromV,toH,toV,[penWidth],[penHeight],[penMode])
绘制一条直线。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组)。默认为黑色。默认的“penWidth” 和“penHeight” 为 1。“penMode” 指定绘图模式:Win32 GDI 接口不支持这些复制、或、异或操作。因此,这里的笔模式表示笔的线型:“patCopy”(实线,默认)、“patOr”(虚线)、“patXor”(点划线)、“patBic”(点线)、“notPatCopy”(不可见)、“notPatOr”(虚线)、“notPatXor”(点划点线)、“notPatBic”(内部框架)。
用法
SCREEN(windowPtr,'FillOval',[color],[rect])
用给定的颜色填充椭圆,椭圆内接于“rect”。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的白色。默认的矩形是整个窗口。
用法
SCREEN(windowPtr,'FillPoly',[color],pointList)
填充多边形。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的白色。“pointList” 是一个矩阵:每行指定顶点的 (x,y) 坐标。
用法
SCREEN(windowPtr,'FillRect',[color],[rect])
填充“rect”。“color”是您要插入每个像素的 clut 索引(标量或 [r g b] 三元组);默认情况下会使用此窗口 pixelSize 的标准 CLUT 生成白色。默认的“rect”是整个屏幕,因此您可以使用此函数清除屏幕。
用法
[newX,newY] = SCREEN(windowPtr,'DrawText',text,[x],[y],[color])
绘制文本。“text” 可以包含双字节字符(例如中文)。默认的“x” “y” 是当前笔的位置。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的黑色。“newX,newY” 返回最终的笔位置。
用法
SCREEN(windowPtr,'FillArc',[color],[rect],startAngle,arcAngle)
绘制内接于矩形的填充弧线。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的黑色。默认的“rect” 是整个窗口。角度从垂直方向顺时针测量。
用法
SCREEN(windowPtr,'FillOval',[color],[rect])
用给定的颜色填充椭圆,椭圆内接于“rect”。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的白色。默认的矩形是整个窗口。
用法
SCREEN(windowPtr,'FillPoly',[color],pointList)
填充多边形。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的白色。“pointList” 是一个矩阵:每行指定顶点的 (x,y) 坐标。
用法
SCREEN(windowPtr,'FillRect',[color],[rect])
填充“rect”。“color”是您要插入每个像素的 clut 索引(标量或 [r g b] 三元组);默认情况下会使用此窗口 pixelSize 的标准 CLUT 生成白色。默认的“rect”是整个屏幕,因此您可以使用此函数清除屏幕。
用法
SCREEN(windowPtr,'FrameArc',[color],[rect],startAngle,arcAngle,[penWidth],[penHeight],[penMode])
绘制内接于矩形的弧线。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的黑色。默认的“rect” 是整个窗口。默认的笔大小是 1,1。角度以度为单位,从垂直方向顺时针测量。
用法
SCREEN(windowPtr,'FrameOval',[color],[rect],[penWidth],[penHeight],[penMode])
绘制椭圆的轮廓。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的黑色。默认的“rect” 是整个窗口。默认的笔大小是 1,1。
用法
hz=SCREEN(windowPtrOrScreenNumber,'FrameRate',[hz])
帧速率(以 Hz 为单位),为该屏幕最近测量的帧速率(通常是在您首次打开屏幕时)。
MacOS:FrameRate 在一定测量时间内统计帧数并计算速率。设置“hz” 不会影响屏幕,只会影响返回的值。将“hz” 设置为 NaN 或 [] 会强制 SCREEN 现在重新测量,例如,在您使用控制面板更改屏幕分辨率后。在您关闭该屏幕上的最后一个窗口时,缓存的值将被清除。
Windows:返回的值是标称帧速率,而不是测量速率。返回的值始终是当前的值。FrameRate 将接受一个参数,以与 MacOS 实现兼容,但会忽略传递的值。
用法
SCREEN(windowPtr,'FrameRect',[color],[rect],[penWidth],[penHeight],[penMode])
绘制矩形的轮廓。“color” 是您要插入每个像素的调色板索引(标量或 [r g b] 三元组);默认情况下,对于此窗口的 pixelSize,会产生带有标准 CLUT 的黑色。默认的“rect” 是整个窗口。默认的笔大小是 1,1。“penMode” 指定绘图模式:Win32 GDI 接口不支持这些复制、或、异或操作。因此,这里的笔模式表示笔的线型:“patCopy”(实线,默认)、“patOr”(虚线)、“patXor”(点划线)、“patBic”(点线)、“notPatCopy”(不可见)、“notPatOr”(虚线)、“notPatXor”(点划点线)、“notPatBic”(内部框架)。
用法
[oldGammaTable,dacSize]=SCREEN(windowPtrOrScreenNumber,'Gamma',[gammaTable],[dacSize])
获取/设置伽马表。伽马表通常是 256x1 或 256x3。大多数用户不需要此函数。
用法
clut=SCREEN(windowPtrOrScreenNumber,'GetClut',[bits])
获取视频屏幕的调色板 (CLUT)。返回的“clut” 是一个 3 列矩阵,每行代表硬件 CLUT 中的一个 RGB 条目。“clut” 值对于 8 位 CLUT 位于 0 到 255 的范围内。
用法
[windowPtr,rect]=SCREEN('GetFrontWindow')
获取最前面窗口的窗口指针。
用法
imageArray=SCREEN(windowPtr,'GetImage',[rect])
从窗口中缓慢复制图像,返回一个 MATLAB uint8 数组。如果窗口的 pixelSize>8,则返回的 imageArray 有三层,即 RGB 图像。“rect” 采用窗口坐标,其默认值为整个窗口。更改:自 1998 年 4 月起,imageArray 现在为 uint8 而不是 double,以节省空间(节省 8 倍)。但是,如果您尝试对 uint8 数组进行数学运算,MATLAB 将发出错误,因此您可能需要使用 DOUBLE 进行转换,例如,imageArray/255 将产生错误,但 double(imageArray)/255 则没问题。另请参阅“PutImage” 和“CopyWindow”。
用法
imageArray=SCREEN(windowPtr,'GetImage',[rect])
从窗口中缓慢复制图像,返回一个 MATLAB uint8 数组。如果窗口的 pixelSize>8,则返回的 imageArray 有三层,即 RGB 图像。“rect” 采用窗口坐标,其默认值为整个窗口。更改:自 1998 年 4 月起,imageArray 现在为 uint8 而不是 double,以节省空间(节省 8 倍)。但是,如果您尝试对 uint8 数组进行数学运算,MATLAB 将发出错误,因此您可能需要使用 DOUBLE 进行转换,例如,imageArray/255 将产生错误,但 double(imageArray)/255 则没问题。另请参阅“PutImage” 和“CopyWindow”。
用法
[windowPtr,rect]=SCREEN('GetMATLABWindow',[n])
获取 MATLAB 窗口菜单中第 n 个窗口的窗口指针。
用法
[windowPtr,rect]=SCREEN('GetWindowByTitle',title);
获取指定标题的窗口指针。
SCREENGlobalRect 尚未支持。
用法
isOffscreen=SCREEN(windowPtr,'IsOffscreen')
判断窗口是否为离屏窗口。返回结果:1=是;0=否。
用法
SCREEN('MATLABToFront',[n])
将 MATLAB 窗口菜单中的第 n 个窗口向前移动。如果未指定,则 n 默认值为 0(命令窗口)。
SCREENMoveWindow 尚未支持。
用法
[windowPtr,rect]=SCREEN(windowPtrOrScreenNumber,'OpenOffscreenWindow',[color],[rect],[pixelSize]);
打开一个离屏窗口(DirectDraw 中的离屏表面)。这只是一块内存区域,被视为窗口。离屏窗口非常适合创建图像以供后续显示,因为窗口之间的复制速度非常快。您可以指定一个屏幕(screenNumber>=0)或不指定屏幕(screenNumber=-1)。如果指定了屏幕,则离屏窗口将附加到与该屏幕关联的 DirectDraw 对象。您可以不指定屏幕(screenNumber=-1),但任何实际屏幕都必须在调用 OpenOffscreenWindow 时已经有一个打开的 SCREEN 窗口。“color” 是要插入每个像素的 clut 索引(标量或 [r g b] 三元组);默认值为白色。“rect” 指定了离屏窗口的大小,以及离屏窗口与屏幕的哪个部分对齐。如果提供,“rect” 必须至少包含一个像素。如果提供了 screenNumber,则 “rect” 位于屏幕坐标系中(左上角为原点),并默认为该屏幕的大小。如果提供了 screenNumber -1,则 “rect” 默认为主屏幕的大小。(在所有情况下,对这个新离屏窗口的后续引用都将使用它的坐标:左上角为原点。)“pixelSize” 设置每个像素的深度(以位为单位)。如果指定了屏幕 (screenNumber>=0) 以及 pixelSize>0,则它们必须一致。如果未指定屏幕 (screenNumber=-1),则默认 pixelSize 与主屏幕相同,但您可以指定任何合法深度:8、16、24、32。pixelSize 为 0 或 [] 将被默认值替换。
用法
[windowPtr,rect]=SCREEN(windowPtrOrScreenNumber,'OpenWindow',[color],[rect],[pixelSize]);
打开一个屏幕窗口。通过 windowPtr 或 screenNumber 指定一个屏幕(0 为主屏幕,带菜单栏)。“color” 是要插入每个像素的 clut 索引(标量或 [r g b] 三元组);默认值为白色。如果提供,“rect” 必须至少包含一个像素。如果提供了 windowPtr,则 “rect” 位于窗口坐标系中(左上角为原点),并默认为整个窗口。如果提供了 screenNumber,则 “rect” 位于屏幕坐标系中(左上角为原点),并默认为整个屏幕。(在所有情况下,对这个新窗口的后续引用都将使用它的坐标:左上角为原点。)Windows 版本接受 “rect” 但会忽略它,窗口始终与显示其的显示器大小相同。“pixelSize” 设置每个像素的深度(以位为单位);默认值为保持深度不变。打开或关闭窗口大约需要一秒钟。
用法
[oldPixelSize,oldIsColor,pages]=SCREEN(windowPtrOrScreenNumber,'PixelSize',[pixelSize],[isColor])
获取/设置屏幕深度、灰度/彩色模式以及视频页面数量。(我们尚未提供更改页面的方法。)
用法
pixelSizes=SCREEN(windowPtrOrScreenNumber,'PixelSizes')
列出此屏幕的所有可能的 pixelSizes。Windows 版本仅返回当前显示器尺寸下可用的像素大小。
用法
boolean=SCREEN('Preference','Backgrounding') oldBoolean=SCREEN('Preference','IgnoreCase',[boolean]) psychTableVersion=SCREEN('Preference','PsychTableVersion') mexFunctionName=SCREEN('Preference','PsychTableCreator') oldPriority=SCREEN(windowPtrOrScreenNumber,'Preference','MaxPriorityForBlankingInterrupt',priority) oldBoolean=SCREEN(windowPtrOrScreenNumber,'Preference','WaitBlankingUsesInterrupt',[boolean]) bits=SCREEN(windowPtrOrScreenNumber,'Preference','ClutDacSize') boolean=SCREEN(windowPtrOrScreenNumber,'Preference','FixedClut') oldBoolean=SCREEN(windowPtrOrScreenNumber,'Preference','SetClutDriverWaitsForBlanking',[boolean]) oldBoolean=SCREEN(windowPtrOrScreenNumber,'Preference','SetClutQuickly',[boolean]) oldBoolean=SCREEN(windowPtrOrScreenNumber,'Preference','SetClutCallsWaitBlanking',[boolean]) oldFrames=SCREEN(windowPtrOrScreenNumber,'Preference','SetClutSimulatesBlankingInterrupts',[frames])
获取/设置各种首选项。前四个是一般性的,其余与 WaitBlanking 或 SetClut 相关,并且特定于屏幕。“boolean” 值为 1(非零)表示是,0 表示否。首选项是易失性的:它们在您第一次使用每个屏幕时由 SCREEN 设置,并在关闭最后一个 SCREEN 窗口时被清除(例如,通过 'Close'、'CloseAll' 或通过输入“clear screen” 来清除 SCREEN.mex)。因此,请在调用 'OpenWindow' 后进行任何首选项设置。警告:这些设置允许您访问决定 SCREEN 行为的所有内部参数。因此,参数集不断变化,因为 SCREEN 随着环境的不断变化而不断发展(例如,不等待 blanking 的视频驱动程序以及 Rush 的高优先级)。您可以随意使用这些专家控件,但如果您这样做,请意识到您可能需要在 PsychToolbox 的每个新版本中调整您的 'Preference' 调用。
- SetClutDriverWaitsForBlanking 报告显示器的视频驱动程序是否等待 blanking。通常为只读,您还可以设置/清除 PowerMac 7300/7500/7600/8500/8600 内置驱动程序上的此项。- SetClutQuickly 指定您是否希望使用自定义 SetEntriesQuickly.c 驱动程序(如果适用于此设备)来代替标准视频驱动程序。SetEntriesQuickly 驱动程序不等待 blanking。- SetClutCallsWaitBlanking 确定是否应在每次调用 SetClut 后调用 WaitBlanking。- SetClutSimulatesBlankingInterrupts 设置/获取在每次 SetClut 后模拟的 blanking 中断数量,以弥补 SetClut 调用期间丢失的中断。- WaitBlankingUsesInterrupt 指定 WaitBlanking 是否应使用 SetClut(原始驱动程序)或屏幕的 blanking 中断来等待 blanking。请参阅 'WaitBlanking'。- MaxPriorityForBlankingInterrupt 指定硬件 blanking 中断仍能正常工作时的最大优先级。通常为 1,但在需要对 3 毫秒间隔(在此期间会忽略虚假 VBL 中断)进行计时的情况下(在非 PCI Mac 上),它将降至 0.5。您的程序可以覆盖此设置,但您的计算机很可能会挂起,除非您真正知道自己在做什么。
PutColorImage 已过时。请使用 PutImage 代替。请使用 SCREENPutImage。
用法
SCREEN(windowPtr,'PutImage',imageArray,[rect],[copyMode])
将“imageArray”复制到窗口,速度较慢。“imageArray”可以是双精度或 uint8 类型。它的值应为非负整数,通过 CopyBits 或 CopyBitsQuickly 复制到窗口。“imageArray”可以是 MxN 数组(对于任何窗口)或 MxNx3 数组(仅当窗口 pixelSize 为 16 或 32 位时)。在后一种情况下,三个 rgb 分量将根据窗口 pixelSize 合并,形成一个单个值,该值将复制到窗口。在 16 位模式下,r、g 和 b 各贡献 5 位。在 32 位模式下,r、g 和 b 各贡献 8 位。
“rect”以窗口坐标表示。整个图像被复制到“rect”,必要时会进行缩放。rect 默认值为 imageArray 的 rect,位于窗口的中心。数组在窗口中的方向与 MATLAB 在命令窗口中显示数字数组的方式相同。第一个像素位于左上角,行是水平方向的。除非您指定“Quickly” copyMode,否则 PutImage 将继承 CopyBits 的行为,将图像缩放成 rect。
copyMode 参数是一个字符串变量,传递给 VideoToolbox CopyWindows 例程。copyMode 可以是 'srcCopy'(默认)或 'bltFast'。
复制分为两个阶段。首先,从图像数组缓慢地复制到一个临时的屏幕外窗口,然后,从那里快速地复制到由“windowPtr”指定的窗口。
用法
rect=SCREEN(windowPtrOrScreenNumber,'Rect')
获取窗口或屏幕的本地矩形。
用法
screenNumbers=SCREEN('Screens')
返回一个 screenNumbers 数组。
用法
SCREEN('MATLABToFront',[n])
将 MATLAB 窗口菜单中的第 n 个窗口向前移动。如果未指定,则 n 默认值为 0(命令窗口)。
用法
err=SCREEN(windowPtr,'SetClut',clut,[startEntry],[bits])
设置屏幕的 DirectDraw 调色板。
调色板会立即设置,不会等待垂直同步。
"clut" 参数是一个包含 3 列的 MATLAB 矩阵。写入的条目数是 "clut" 的行数。硬件 CLUT 中的每个 RGB 条目都用 "clut" 的一行加载。对于 8 位 CLUT,每个 "clut" 值应在 0 到 255 的范围内。参数 startEntry 是可选的,它决定从哪个 CLUT 条目开始加载(条目从 0 开始编号),以仅加载 CLUT 条目的一部分。建议 "startEntry" 始终为零或更大。
"bits" 参数指定要写入 CLUT 的位数。通常它将是 8,这是默认值。如果将其设置为其他值,则允许条目的范围将相应缩放。因此,如果使用 9 位 CLUT,则每个条目应在 0 到 511 之间,依此类推。
偏好
用法
err=SCREEN(windowPtr,'SetClut',clut,[startEntry],[bits])
设置屏幕的 DirectDraw 调色板。
调色板会立即设置,不会等待垂直同步。
"clut" 参数是一个包含 3 列的 MATLAB 矩阵。写入的条目数是 "clut" 的行数。硬件 CLUT 中的每个 RGB 条目都用 "clut" 的一行加载。对于 8 位 CLUT,每个 "clut" 值应在 0 到 255 的范围内。参数 startEntry 是可选的,它决定从哪个 CLUT 条目开始加载(条目从 0 开始编号),以仅加载 CLUT 条目的一部分。建议 "startEntry" 始终为零或更大。
"bits" 参数指定要写入 CLUT 的位数。通常它将是 8,这是默认值。如果将其设置为其他值,则允许条目的范围将相应缩放。因此,如果使用 9 位 CLUT,则每个条目应在 0 到 511 之间,依此类推。
偏好
用法
SCREEN(windowPtr,'SetDrawingRegion',shapeSpec,[shapeFlag])
使后续绘制到窗口的内容仅在指定区域内可见。这并不适用于 PutImage 或 CopyWindow 操作。调用 rect 等于 screenRect 以重新建立整个屏幕。绘制区域外的内容会被抑制,但仍需要正常时间才能完成。
如果 shapeFlag == 0 [默认],shapeSpec 是一个矩形,区域是矩形。如果 shapeFlag == 1,shapeSpec 是一个矩形,区域是椭圆形。如果 shapeFlag == 2,shapeSpec 是一个点列表,区域是多边形。
用法
[oldGammaTable,dacSize]=SCREEN(windowPtrOrScreenNumber,'Gamma',[gammaTable],[dacSize])
获取/设置伽马表。伽马表通常是 256x1 或 256x3。大多数用户不需要此函数。
用法
oldStyle=SCREEN(windowPtr,'TextStyle',[style])
获取/设置此窗口未来文本绘制的字体样式。style 的可用值如下;它们可以被 OR 运算符组合。
0=普通,1=粗体,2=斜体,4=下划线。(在 Windows 版本中,Outline、Condense 和 Extend 尚未支持)
用法
[oldFontName,oldFontNumber]=SCREEN(windowPtr,'TextFont',[fontNameOrNumber])
获取/设置此窗口未来文本绘制的字体。您可以询问当前字体,或者按编号或名称指定所需字体(例如 'Helvetica')。字体编号在不同的 PC 上可能不一致。如果没有提供 windowPtr,并且没有提供 fontName 参数,则打印出所有字体名称的列表。对于屏幕和离屏窗口,默认字体(由 Windows 设置)都是 1(系统字体)。
用法
oldCopyMode=SCREEN(windowPtr,'TextMode',[copyMode])
获取/设置此窗口的文本复制模式。
copyMode 可以是整数或字符串:'srcCopy'(默认)、'srcOr'、'srcXor'、'srcBic'、'notSrcCopy'、'notSrcOr'、'notSrcXor'、'notSrcBic'、'patCopy'、'patOr'、'patXor'、'patBic'、'notPatCopy'、'notPatOr'、'notPatXor'、'notPatBic'。在 Windows 版本中,此函数没有任何作用,因为 Windows 上没有与 Mac 文本模式相对应的选项。
用法
oldFontSize=SCREEN(windowPtr,'TextSize',[fontSize])
获取/设置此窗口未来文本绘制的字体大小。
用法
oldStyle=SCREEN(windowPtr,'TextStyle',[style])
获取/设置此窗口未来文本绘制的字体样式。style 的可用值如下;它们可以被 OR 运算符组合。
0=普通,1=粗体,2=斜体,4=下划线。(在 Windows 版本中,Outline、Condense 和 Extend 尚未支持)
用法
width=SCREEN(windowPtr,'TextWidth',text); % 水平偏移量(对于从右到左的脚本,例如希伯来语,为负数)。
获取文本字符串的宽度。宽度是指通过调用 DrawText 将产生的水平笔位置的变化;对于从右到左的脚本(例如希伯来语),它为负数。文本可能包含 2 字节字符(例如中文)。
用法
[oldMore,oldSeverity,oldAlready]=SCREEN('UsageWarnings',[more],[severity],[already])
控制如何处理使用警告。
Severity=0(抑制)、1(警告)、2(错误)
用法
[cardName,driverName,driverVersion,slotName]=SCREEN(windowPtrOrScreenNumber,'VideoCard')
获取有关视频硬件的信息。
用法
framesSinceLastWait=SCREEN(windowPtrOrScreenNumber,'WaitBlanking',[waitFrames])
等待指定的空白次数(帧结束)。调用 waitFrames==1(或省略它,因为它是默认值)以等待下一帧的开始。视频卡通过将垂直同步电平 (VBL) 的电压短暂降低来标记每个视频帧的结束,这会使屏幕变黑。所有视频计时都是相对于空白开始进行的。您可能希望以高优先级运行 'WaitBlanking'(参见 Rush and Priority)以获得可靠的计时。为了使此例程尽可能快,除非您提供一个参数来接收它,否则不会返回值。当处理器优先级低于或等于 MaxPriorityForBlankingInterrupt 时,WaitBlankingUsesInterrupt 'Preference' 控制每个屏幕上 'WaitBlanking' 是否调用 SetClut(默认)或等待空白中断。当处理器优先级高于 MaxPriorityForBlankingInterrupt 时,'WaitBlanking' 始终使用 SetClut(即对视频驱动程序的 cscSetEntries 或 cscDirectSetEntries 调用)。
用法
framesSinceLastWait=SCREEN(windowPtrOrScreenNumber,'WaitBlanking',[waitFrames])
等待指定的空白次数(帧结束)。调用 waitFrames==1(或省略它,因为它是默认值)以等待下一帧的开始。视频卡通过将垂直同步电平 (VBL) 的电压短暂降低来标记每个视频帧的结束,这会使屏幕变黑。所有视频计时都是相对于空白开始进行的。您可能希望以高优先级运行 'WaitBlanking'(参见 Rush and Priority)以获得可靠的计时。为了使此例程尽可能快,除非您提供一个参数来接收它,否则不会返回值。当处理器优先级低于或等于 MaxPriorityForBlankingInterrupt 时,WaitBlankingUsesInterrupt 'Preference' 控制每个屏幕上 'WaitBlanking' 是否调用 SetClut(默认)或等待空白中断。当处理器优先级高于 MaxPriorityForBlankingInterrupt 时,'WaitBlanking' 始终使用 SetClut(即对视频驱动程序的 cscSetEntries 或 cscDirectSetEntries 调用)。
用法
kind=SCREEN(windowPtr,'WindowKind')
这是什么类型的 windowPtr?如果无效,则返回 0,如果为离屏,则返回 -1,如果为屏幕,则返回 1,如果为 MATLAB 的屏幕,则返回 2。
用法
windowPtrs=SCREEN('Windows')
返回一个 windowPtr 数组。
用法
screenNumber=SCREEN(windowPtrOrScreenNumber,'WindowScreenNumber')
获取屏幕编号。
用法
title=SCREEN(windowPtr,'WindowTitle')
获取窗口标题
用法
SCREEN(windowPtr,'WindowToBack')
将指定的窗口发送到后面
用法
SCREEN(windowPtr,'WindowToFront')
将指定的窗口置于最前面。