Skip to content

外部图形文件格式(页面待完善)


rtlib 通过 Bload 和 Bsave 支持的外部图形文件格式。

这是一个粗略的起点,还有许多内容需要添加...(来自 coderJeff)

与 BLOAD/BSAVE 一起使用的文件

文件的第一个字节:

&hFD  QB BSAVED BLOCK
&hFE  FB BSAVED BLOCK
&h42  Windows Bitmap (&h42 = ASC("B"))

对于 QB/FB 保存块,&hFD 和 &hFE 将文件标识为 QB/FB 格式,接下来的字节确定文件中包含的数据大小,后面是 DATA 以及可选的 PALETTE。

对于 Windows Bitmap,应与标准 Windows BMP 文件二进制兼容。加载时,&h42 只是将文件标识为可能是 Windows 位图,头部的其他检查可能导致加载失败。

QB BSAVED 块

OFS  LEN   DESCRIPTION
0    1     QB BSAVED BLOCK Identifier (&hFD)
1    4     Ignored
5    2     unsigned 16 bit SIZE, little endian order
7   ...    DATA (expected to be SIZE bytes long)
?   ...    PALETTE COLORS

BSAVE 和 QB/FB 保存块

BSAVE( filename, source [,[ size ][,{ pal | pal, bitsperpixel }]] )

BSAVE 始终使用 FB 格式(&hFE)写入

写入的 DATA 字节是 SIZE 参数和 screen * pitch 中较小的值

PALETTE 从 pal 参数或当前屏幕的调色板写入

BLOAD 和 QB/FB 保存块

BLOAD filename [, dest [, [pal]]]

如果未给出 dest,则 DATA 逐字节直接加载到屏幕内存。如果 SIZE 超过当前 screen * pitch,则 DATA 被截断以适应当前图形模式的大小。

如果给出 dest,则 DATA 直接加载到 'dest' 指向的内存位置。

不支持 RLE(游程长度编码)。因此只支持未压缩格式。

BLOAD/BSAVE 和 Windows 位图

BLOAD - 如果第一个字节是 &H42,则尝试将文件作为位图加载

BSAVE - 如果文件名有 '.bmp' 扩展名,则保存为位图

.....

.....

另请参阅

  • Bload
  • Bsave
  • .....

返回 目录

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