我正在将一个程序从SDL 1升级到SDL 2,并需要使用颜色调色板。最初,我使用了SDL_SetColors(screen, color, 0, intColors);
但在SDL 2中不起作用。我正在尝试使用:
SDL_Palette *palette = (SDL_Palette *)malloc(sizeof(color)*intColors);
SDL_SetPaletteColors(palette, color, 0, intColors);
SDL_SetSurfacePalette(surface, palette);
但是SDL_SetPaletteColors()
返回-1并且失败,SDL_GetError
没有给我任何信息。
我怎样才能从SDL_Color
创建调色板,然后将其设置为我的表面的调色板?