Я хочу прочитать пиксели из текстуры, используя библиотеку SDL2. Я знаю, что невозможно напрямую прочитать пиксель из текстуры, но вы можете использовать следующую функцию:
int SDL_RenderReadPixels(SDL_Renderer* renderer,
const SDL_Rect* rect,
Uint32 format,
void* pixels,
int 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);
}