我想使用 SDL2 库从纹理中读取像素。我知道直接从纹理中读取像素是不可能的,但是您可以使用以下函数:
int SDL_RenderReadPixels(SDL_Renderer* renderer,
const SDL_Rect* rect,
Uint32 format,
void* pixels,
int pitch)
基本上,我想要在我的应用程序中做的是从窗口屏幕读取单个像素并检测它是否是透明像素。我该如何使用该功能?什么是 pitch 属性,我如何定义 SDL_Rect 以及如何获得正确格式的像素?如您所见,我正在检测鼠标左键单击事件并将 x 和 y 坐标传递给方法:
void detectElementOnXandY(SDL_Renderer* renderer, int x, int y){
// x represents the coordinate x.
// y represents the coordinate y.
// Here i have to call the function
int result = SDL_RenderReadPixels(renderer, rect, format, pixels, pitch);
}