【问题标题】:SDL2: saving image as png errorSDL2:将图像另存为 png 错误
【发布时间】:2014-05-10 23:40:35
【问题描述】:

我正在尝试制作二维地图编辑器。现在,如果我的地图完成了,我想保存它。

我试过这个:

IMG_SavePNG(SDL_GetWindowSurface(window), "C:/Users/<MY_NAME>/Desktop");

但什么也没发生。没有图像被保存,也没有错误。

这是我的窗口的创建:

SDL_Window* window = SDL_CreateWindow("Famonex", 100, 100, WINDOW_WIDTH, WINDOW_HEIGHT,    SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);

这是我的内容:

#include <SDL.h>
#include <SDL_image.h>
#include <SDL_mixer.h>

【问题讨论】:

  • 你确定这个编译正确吗?粗略搜索IMG_SavePNG 表明您忘记了第三个参数:“.. 采用文件名、要保存的表面和压缩级别。压缩级别可以是 0(min) 到 9(max),或 -1(默认)。”
  • 没有第三个或第四个参数。
  • 检查SDL_GetWindowSurface的返回值是否为null。还要研究一下您可能必须锁定表面才能使用它。
  • SDL_GetWindowSurface 不为空。同样当我锁定表面时,仍然是黑色图像。

标签: c++ sdl-2


【解决方案1】:

该死的,我只是在文件路径上失败了。我忘了最后一个字:(filename.png)。

但现在我的图像是全黑的:S.

【讨论】:

    猜你喜欢
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 2012-10-16
    • 2014-09-19
    • 1970-01-01
    • 2019-07-26
    相关资源
    最近更新 更多