此函数用于返回给定表面 的格式。此处列出了所有格式。
surface_get_format(surface_id);
参数 | 类型 | 描述 |
---|---|---|
surface_id | Surface | 要获取格式的表面 |
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 值。它将每个通道的值打印到输出日志。