该函数将信息从表面写入给定的缓冲区。
该缓冲区必须是之前创建的,并且应该是一个足够大的 1 字节对齐缓冲区,足以存储您要写入的表面的数据 (如果不确定,请使用 grow 缓冲区或参见本节底部的示例页)。
表面的信息将始终写入缓冲区的起始位置(无论寻道位置如何),但您可以选择偏移值(以字节为单位),以便从缓冲区的起始位置移动写入位置。
表面的格式将影响表面写入缓冲区的方式。请记住,相同的格式在不同的平台上可能会以不同的方式编写。
buffer_get_surface(buffer, surface, offset);
参数 | 类型 | 描述 |
---|---|---|
buffer | Buffer | 要使用的缓冲区。 |
surface | Surface | 要使用的表面。 |
offset | Real | 数据偏移值(以字节为单位)。 |
N/A
buffer = buffer_create(surf_width * surf_height * 4, buffer_fixed, 1);
buffer_get_surface(buffer, surface, 0);
此代码将创建一个固定大小的缓冲区,该缓冲区具有根据表面的确切大小存储每像素4字节(R、G、B和A分量)的容量,然后将表面数据复制到该缓冲区中。