C++ 解引用SDL_曲面?

C++ 解引用SDL_曲面?,c++,pointers,copy,sdl,C++,Pointers,Copy,Sdl,是否有任何方法可以将SDL曲面复制到另一个曲面,如创建备份副本,而在修改副本时不修改原始曲面*表面=*原始表面dosnt工作。SDL_曲面没有任何构造函数,因此我无法执行类似于Surface=新SDL_曲面(原始曲面)的任何操作。目前,我一直在打开原始图像,但打开图像所需的时间比完成一个循环所需的时间更长。这会导致大量滞后,最终导致错误,导致我的程序结束您可以创建一个新的兼容曲面: copy = SDL_CreateRGBSurface(flags, width, height, origina

是否有任何方法可以将SDL曲面复制到另一个曲面,如创建备份副本,而在修改副本时不修改原始曲面<代码>*表面=*原始表面dosnt工作。SDL_曲面没有任何构造函数,因此我无法执行类似于
Surface=新SDL_曲面(原始曲面)
的任何操作。目前,我一直在打开原始图像,但打开图像所需的时间比完成一个循环所需的时间更长。这会导致大量滞后,最终导致错误,导致我的程序结束

您可以创建一个新的兼容曲面:

copy = SDL_CreateRGBSurface(flags, width, height, original->format.BitsPerPixel,
                            original->format.Rmask, original->format.Gmask,
                            original->format.Bmask, original->format.Amask);
然后将原件插入副本:

SDL_BlitSurface(original, NULL, copy, NULL);

您可以创建一次兼容的曲面(相同的格式、相同的大小),只需将原始曲面导入副本。*facepalm。把它写在答题里,我来核对一下