Skip to content

SCREENRES


SCREENRES — 初始化图形模式

语法

语句形式:

vb
Screenres width, height [, [depth] [, [num_pages] [, [flags] [, refresh_rate] ] ] ]

函数形式:

vb
result = Screenres( width, height [, [depth] [, [num_pages] [, [flags] [, refresh_rate] ] ] ] )

参数

参数类型说明
widthLong水平分辨率(显示宽度,以像素为单位)
heightLong垂直分辨率(显示高度,以像素为单位)
depthLong每像素颜色深度(位数)。默认 = 8。有效值:1、2、4、8、16、32(15 视为 16;24 视为 32)
num_pagesLong视频页面数。默认 = 1
flagsLong屏幕属性标志。默认 = 0
refresh_rateLong刷新率(仅全屏模式)。默认 = 0

返回值

  • 成功时:返回 0
  • 失败时:返回非零错误代码(同时抛出运行时错误)

标志

图形模式标志

标志说明
GFX_NULL启动 QB-on-GUI 图形模式:创建图形缓冲区但不创建窗口
GFX_OPENGL初始化 OpenGL 模式(只能使用 OpenGL 命令)
(无)进入纯 QB 图形模式(默认)

窗口模式标志

标志说明
GFX_WINDOWED窗口模式(默认)
GFX_FULLSCREEN全屏模式
GFX_NO_SWITCH禁用 Alt+Enter 在全屏/窗口之间切换
GFX_NO_FRAME创建无边框窗口
GFX_SHAPED_WINDOW创建异形/透明窗口(RGBA(255,0,255,0) = 透明)
GFX_ALWAYS_ON_TOP窗口始终置于其他窗口之上

选项标志

标志说明
GFX_ALPHA_PRIMITIVES为所有绘图图元启用 alpha 通道支持
GFX_HIGH_PRIORITY启用更高优先级的图形处理
GFX_NO_X86_MMX禁用 MMX 位图传输器(x86 平台,fbc 1.20.0 起)

OpenGL 缓冲区标志(仅与 GFX_OPENGL 一起使用)

标志说明
GFX_STENCIL_BUFFER使用模板缓冲区
GFX_ACCUMULATION_BUFFER使用累积缓冲区
GFX_MULTISAMPLE请求全场景抗锯齿

说明

Screenres 初始化图形模式。支持三种模式:

  1. QB 兼容图形模式 — 窗口或全屏。标准 FreeBASIC 图形命令按预期工作。
  2. QB-on-GUI 模式GFX_NULL)— 用户手动管理窗口和刷新。创建图形缓冲区但不显示窗口。
  3. OpenGL 模式GFX_OPENGL)— 提供初始化 OpenGL 的可移植方式。只应使用 OpenGL 命令;FreeBASIC 图形图元不可用。

默认字体为 8×8 像素。Width 函数可用于调整文本行数和列数。控制台命令如 LocatePrint 在图形模式下工作。

示例

vb
' Set a 320x200 resolution with 8-bit color depth
ScreenRes 320, 200, 8

' Draw a colored diagonal pattern
For y As Long = 0 To 200 - 1
    For x As Long = 0 To 320 - 1
        PSet (x, y), (x + y) And 255
    Next x
Next y

' Display text in the upper-left corner
Print "Hello world!!"

' Wait for a key press
Sleep

平台差异

  • DOS 下不支持窗口模式和 OpenGL 标志。

另请参阅

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