Skip to content

SCREEN(图形)

来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgScreengraphics 最后更新: 2023-07-12

使用 QB 风格模式编号初始化图形模式。

语法

-lang fb|fblite 方言:

Screen mode [, [depth] [, [num_pages] [, [flags] [, [refresh_rate]]]]]
Screen , [active_page] [, [visible_page]]

-lang qb 方言:

Screen [mode] [, [colormode] [, [active_page] [, [visible_page]]]]

参数

  • mode — QB 风格屏幕模式编号。如果为 0,关闭图形模式并返回控制台。
  • depth — 模式 14+ 的每像素颜色深度:8、16 或 32(15 和 24 分别是 16 和 32 的别名)。默认值:8。
  • num_pages — 视频页面数。默认值:1。
  • flags — 图形驱动程序选项;常量在 fbgfx.bi 中定义(详情参见 Screenres)。
  • refresh_rate — 请求的刷新率。
  • active_page — 绘图命令生效的页面。
  • visible_page — 向用户显示的页面。
  • colormode — 未使用;为兼容 QB 语法而允许。

说明

Screen 链接 GfxLib 并初始化图形模式。在仅 QB 和 GUI 上的 QB 模式中,可以使用 QB 风格的图形和控制台语句。

如果 Screen 无法设置所需模式,将发出"非法函数调用"错误。可以使用 On Error 或检查 ScreenPtr 来检测失败。

可用模式

QB 兼容模式:

模式分辨率模拟颜色
1320×200CGA16 背景,4 前景
2640×200CGA2 种颜色
7320×200EGA16 种颜色
8640×200EGA16 种颜色
9640×350EGA16 种颜色
11640×480VGA2 种颜色
12640×480VGA16 种颜色
13320×200MCGA256 种颜色

FreeBASIC 扩展模式:

模式分辨率
14320×240
15400×300
16512×384
17640×400
18640×480
19800×600
201024×768
211280×1024

示例

vb
' Sets screen mode 13 (320×200, 8bpp)
Screen 13
Print "Screen mode 13 set"
Sleep
vb
#include "fbgfx.bi"
#if __FB_LANG__ = "fb"
Using FB
#endif
' Sets 640×480, 32bpp, 4 pages, windowed, switching disabled
Screen 18, 32, 4, (GFX_WINDOWED Or GFX_NO_SWITCH)
If ScreenPtr = 0 Then
    Print "Error setting video mode!"
    End
End If
Print "Successfully set video mode"
Sleep

平台差异

  • 在 DOS 中,窗口化和 OpenGL 选项不可用。

与 QB 的区别

  • -lang qb 方言中无差异。
  • 在 QB 中,语法为 Screen mode, colormode, active_page, visible_page;FreeBASIC 重新定义了这些参数。
  • -lang fb-lang fblite 中,应使用 Screenset 进行页面管理。

另请参阅

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系