surface_get_format

此函数用于返回给定表面 的格式。此处列出了所有格式。

 

语法:

surface_get_format(surface_id);

参数类型描述
surface_idSurface要获取格式的表面

 

返回:

Surface Format Constant

 

例子:

var _format = surface_get_format(my_surf);
if (_format == surface_rgba8unorm)
{
    var _buffer = buffer_create(1, buffer_grow, 1);
    buffer_get_surface(_buffer, my_surf, 0);
    buffer_seek(_buffer, buffer_seek_start, 0);
    show_debug_message(buffer_read(_buffer, buffer_u8));
    show_debug_message(buffer_read(_buffer, buffer_u8));
    show_debug_message(buffer_read(_buffer, buffer_u8));
    show_debug_message(buffer_read(_buffer, buffer_u8));
}

这将获取表面的格式,并检查它是否为 surface_rgba8unorm,这意味着每个像素有 4 个通道 (RGBA),每个通道有 8 位 (1 字节)。

如果格式匹配,则创建缓冲区并将表面 写入该缓冲区。然后,它查找到缓冲区的开始处,并读取前四个字节,即第一个像素的 RGBA 值。它将每个通道的值打印到输出日志。