在哪里可以获得 SDL2 中SDL_RenderReadPixels函数的正确音高参数
Where can I get correct pitch parameter for SDL_RenderReadPixels function in SDL2?
我有一个使用 SDL_TEXTUREACCESS_TARGET 访问权限创建的纹理,我想使用 SDL_RenderReadPixels() 函数获取它的所有像素。其中一个函数参数是音高,我真的不知道在哪里可以得到它。
纹理是使用先前创建的曲面的尺寸创建的,但将曲面>间距作为螺距参数的函数调用会生成EXC_BAD_ACCESS。
纹理和表面尺寸为 800x600,表面>间距返回 3200,这对我来说很奇怪,因为我认为间距是内存中纹理的宽度,并且预期的表面>间距类似于 1024。
pitch
的确切值取决于像素格式,并且始终与 4 字节边界对齐。
static int
SDL_CalculatePitch(Uint32 format, int width)
{
int pitch;
if (SDL_ISPIXELFORMAT_FOURCC(format) || SDL_BITSPERPIXEL(format) >= 8) {
pitch = (width * SDL_BYTESPERPIXEL(format));
} else {
pitch = ((width * SDL_BITSPERPIXEL(format)) + 7) / 8;
}
pitch = (pitch + 3) & ~3; /* 4-byte aligning for speed */
return pitch;
}
取自 SDL 镜像。
相关文章:
- 模板参数推导失败,函数参数/参数不匹配
- 有人可以帮助我理解这些参数/参数吗?
- 为什么具有 2 个参数参数的构造函数接受复制对象作为 1 个参数参数?
- 当超出列时,clang格式强制每个参数/参数拥有自己的行?
- 常量和非常量函数作为模板参数参数
- 功能指针参数参数转换为const
- C 从参数参数包创建向量或列表
- C 中函数参数/参数的分辨率
- 操作员[]作为成员函数的正确模板参数/参数是什么?
- 为什么可以将其他类型变量用作C 中常量参考参数参数的参数
- 如何从Windows CMD运行可执行文件并将其传递给文件输入的参数参数和重定向
- 使用 {} 作为默认参数参数类型
- 将多个cmd.exe参数/参数传递给Shellexecute(ex)
- C 参数参数未更新
- 如何识别模板参数参数是否是模板内结构中另一个类的实例?C++
- 在不使用"new"的情况下实例化参数参数中的对象
- 由 pthread_create() 调用的函数的多个参数 - 参数是函数指针
- 模板模板参数参数名称用法
- 重新定义默认参数:参数 2
- 声明我的成员函数参数/参数