我正在用 c++ 创建一个基本的基于控制台的图像处理工具,到目前为止,我发现创建对 RGB 值进行操作的函数非常容易!
我现在想做的是创建用于模糊、锐化和调整图像大小的功能。我知道为了做到这一点,我必须将新像素映射到新图像。我在使用这个内置的 SDL 函数创建一个新的空白表面时遇到了一点问题,我打算在该表面上映射新像素:
SDL_Surface *SDL_CreateRGBSurface(Uint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
我的程序的其余部分使用Uint8*
而不是Uint32
,所以我不确定这将如何影响程序。此外,我不是 100% 确定所有参数以及它们的作用/用途:即标志和深度。
有人可以就如何使用此功能正确创建新的 SDL_Surface 给我一些建议吗?