Я пытаюсь получить цвет пикселей RGB / RGBA из SDL_Surface.Я нашел этот код в Интернете, но он возвращает странные числа (67372036 для пикселя, который 0 красный, 0 зеленый, 255 синий)
Uint32 get_pixel32(SDL_Surface *surface, int x, int y)
{
Uint32 *pixels = (Uint32 *)surface->pixels;
return pixels[(y * surface->w) + x];
}
Это код, который я использовал:
Uint32 data = get_pixel32(gSurface, 0, 0);
printf("%i", data);
Я не уверен, что мои пиксели имеют 32-битный формат, но другие изображения также не работают.