小编Dan*_*nny的帖子

如何从 SDL_Surface 获取特定像素的颜色?

我正在尝试从 SDL_Surface 获取像素的 RGB/RGBA 颜色。我在互联网上找到了这段代码,但它返回奇怪的数字(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];
}
Run Code Online (Sandbox Code Playgroud)

这是我一直在使用的代码:

Uint32 data = get_pixel32(gSurface, 0, 0);
printf("%i", data);
Run Code Online (Sandbox Code Playgroud)

我不确定我的像素是否具有 32 位格式,但其他图片效果不佳。

c++ sdl

3
推荐指数
1
解决办法
5580
查看次数

标签 统计

c++ ×1

sdl ×1