将一组任意数据和调色板信息保存到磁盘上的文件
语法
用法
result = BSave( filename , source [,[ size ][,[ pal ][, bitsperpixel ]]] )
参数
filename
要创建的用于存储像素和调色板数据的文??件的名称。
source
要存储的数据的地址,或null(0)来存储当前屏幕工作页面中的像素数据。
size
可选,要存储的数据的总字节数。此值是必需的,除非输出是BMP文件。
pal
可选的,当前屏幕调色板中的256个
Palette颜色的缓冲区的地址,或null(
0)。
bitsperpixel
可选的,输出BMP图像的请求位深度。
返回值
说明
BSave用于将任意数据从存储器保存到文件中,使用特定于FB的文件格式或将图像保存到标准BMP映像文件中,如有必要,替换现有文件。
BSave向位于
source 的
size 个
size 个字节的任意数据输出
总数到指定的文件。如果
source 为空(
0),则
BSave从当前工作页的像素缓冲区中输出
{{
size }个
size 个字节,以当前屏幕模式的内部像素格式结构。(该数据与图像缓冲区格式不兼容,因为它没有标题。)对于8位图像,调色板信息从
pal 获取,如果存在且非空,或者
pal 省略或为空({989796060 }),从当前的屏幕调色板。
如果
filename 的文件扩展名为“
.bmp”(不区分大小写),则可以创建BMP图像文件。假设
source 指向其整个像素数据将存储在BMP文件中的有效图像缓冲区。如果
source 为null(
0),则将存储当前工作页面的内容。对于8位图像,调色板信息从
pal 如果非空,或从当前屏幕调色板获取为null(
0)。保存BMP文件时,
size 参数将被忽略。
BMP文件的默认位深度为8位(调色板)8位,16位图像为24位,32位图像为32位。
bitsperpixel 参数可用于请求8位图像的24位输出或32位图像的24位输出。
运行时错误:BSave会抛出以下
运行时错误之一:
(1) Illegal function call
- size 小于零(0),否则size 为零,source 为非空,或者图像缓冲区检测到问题。
(2) File not found
(3) File I/O error
例子
'设置gfx模式
ScreenRes 320, 200, 32
'清除黑色的白色
Color RGB(0, 0, 0), RGB(255, 255, 255)
Cls
Locate 13, 15: Print "你好,世界!"
'另存为BMP
BSave "hello.bmp", 0
与QB差别
- 支持节省超过64KiB的任意数据是FreeBASIC的新功能。
- 支持保存BMP文件是FreeBASIC的新功能。
- QB无法使用BLoad在FreeBASIC中加载使用BSave创建的文件,但FreeBASIC可以使用BLoad加载使用创建的文件BSave在QB
参考